/******************************************************************************
* Copyright (c) Intel Corporation - All rights reserved                       *
* This file is part of the LIBXSMM library.                                   *
*                                                                             *
* For information on the license, see the LICENSE file.                       *
* Further information: https://github.com/libxsmm/libxsmm/                    *
* SPDX-License-Identifier: BSD-3-Clause                                       *
******************************************************************************/
/* Siddharth Rai, Alexander Heinecke (Intel Corp.)
******************************************************************************/

#ifndef GENERATOR_RV64_INSTRUCTIONS_H
#define GENERATOR_RV64_INSTRUCTIONS_H

#include "generator_common.h"

#define RVI(i) (LIBXSMM_RV64_INSTR_RVV_##i)

/* defining gp register mappings */
#define LIBXSMM_RV64_GP_REG_X0    0
#define LIBXSMM_RV64_GP_REG_X1    1
#define LIBXSMM_RV64_GP_REG_X2    2
#define LIBXSMM_RV64_GP_REG_X3    3
#define LIBXSMM_RV64_GP_REG_X4    4
#define LIBXSMM_RV64_GP_REG_X5    5
#define LIBXSMM_RV64_GP_REG_X6    6
#define LIBXSMM_RV64_GP_REG_X7    7
#define LIBXSMM_RV64_GP_REG_X8    8
#define LIBXSMM_RV64_GP_REG_X9    9
#define LIBXSMM_RV64_GP_REG_X10  10
#define LIBXSMM_RV64_GP_REG_X11  11
#define LIBXSMM_RV64_GP_REG_X12  12
#define LIBXSMM_RV64_GP_REG_X13  13
#define LIBXSMM_RV64_GP_REG_X14  14
#define LIBXSMM_RV64_GP_REG_X15  15
#define LIBXSMM_RV64_GP_REG_X16  16
#define LIBXSMM_RV64_GP_REG_X17  17
#define LIBXSMM_RV64_GP_REG_X18  18
#define LIBXSMM_RV64_GP_REG_X19  19
#define LIBXSMM_RV64_GP_REG_X20  20
#define LIBXSMM_RV64_GP_REG_X21  21
#define LIBXSMM_RV64_GP_REG_X22  22
#define LIBXSMM_RV64_GP_REG_X23  23
#define LIBXSMM_RV64_GP_REG_X24  24
#define LIBXSMM_RV64_GP_REG_X25  25
#define LIBXSMM_RV64_GP_REG_X26  26
#define LIBXSMM_RV64_GP_REG_X27  27
#define LIBXSMM_RV64_GP_REG_X28  28
#define LIBXSMM_RV64_GP_REG_X29  29
#define LIBXSMM_RV64_GP_REG_X30  30
#define LIBXSMM_RV64_GP_REG_X31  31
#define LIBXSMM_RV64_GP_REG_XZR  31
#define LIBXSMM_RV64_GP_REG_XSP  2

#define LIBXSMM_RV64_GP_REG_F0    0
#define LIBXSMM_RV64_GP_REG_F1    1
#define LIBXSMM_RV64_GP_REG_F2    2
#define LIBXSMM_RV64_GP_REG_F3    3
#define LIBXSMM_RV64_GP_REG_F4    4
#define LIBXSMM_RV64_GP_REG_F5    5
#define LIBXSMM_RV64_GP_REG_F6    6
#define LIBXSMM_RV64_GP_REG_F7    7
#define LIBXSMM_RV64_GP_REG_F8    8
#define LIBXSMM_RV64_GP_REG_F9    9
#define LIBXSMM_RV64_GP_REG_F10  10
#define LIBXSMM_RV64_GP_REG_F11  11
#define LIBXSMM_RV64_GP_REG_F12  12
#define LIBXSMM_RV64_GP_REG_F13  13
#define LIBXSMM_RV64_GP_REG_F14  14
#define LIBXSMM_RV64_GP_REG_F15  15
#define LIBXSMM_RV64_GP_REG_F16  16
#define LIBXSMM_RV64_GP_REG_F17  17
#define LIBXSMM_RV64_GP_REG_F18  18
#define LIBXSMM_RV64_GP_REG_F19  19
#define LIBXSMM_RV64_GP_REG_F20  20
#define LIBXSMM_RV64_GP_REG_F21  21
#define LIBXSMM_RV64_GP_REG_F22  22
#define LIBXSMM_RV64_GP_REG_F23  23
#define LIBXSMM_RV64_GP_REG_F24  24
#define LIBXSMM_RV64_GP_REG_F25  25
#define LIBXSMM_RV64_GP_REG_F26  26
#define LIBXSMM_RV64_GP_REG_F27  27
#define LIBXSMM_RV64_GP_REG_F28  28
#define LIBXSMM_RV64_GP_REG_F29  29
#define LIBXSMM_RV64_GP_REG_F30  30
#define LIBXSMM_RV64_GP_REG_F31  31

#define LIBXSMM_RV64_GP_REG_V0    0
#define LIBXSMM_RV64_GP_REG_V1    1
#define LIBXSMM_RV64_GP_REG_V2    2
#define LIBXSMM_RV64_GP_REG_V3    3
#define LIBXSMM_RV64_GP_REG_V4    4
#define LIBXSMM_RV64_GP_REG_V5    5
#define LIBXSMM_RV64_GP_REG_V6    6
#define LIBXSMM_RV64_GP_REG_V7    7
#define LIBXSMM_RV64_GP_REG_V8    8
#define LIBXSMM_RV64_GP_REG_V9    9
#define LIBXSMM_RV64_GP_REG_V10  10
#define LIBXSMM_RV64_GP_REG_V11  11
#define LIBXSMM_RV64_GP_REG_V12  12
#define LIBXSMM_RV64_GP_REG_V13  13
#define LIBXSMM_RV64_GP_REG_V14  14
#define LIBXSMM_RV64_GP_REG_V15  15
#define LIBXSMM_RV64_GP_REG_V16  16
#define LIBXSMM_RV64_GP_REG_V17  17
#define LIBXSMM_RV64_GP_REG_V18  18
#define LIBXSMM_RV64_GP_REG_V19  19
#define LIBXSMM_RV64_GP_REG_V20  20
#define LIBXSMM_RV64_GP_REG_V21  21
#define LIBXSMM_RV64_GP_REG_V22  22
#define LIBXSMM_RV64_GP_REG_V23  23
#define LIBXSMM_RV64_GP_REG_V24  24
#define LIBXSMM_RV64_GP_REG_V25  25
#define LIBXSMM_RV64_GP_REG_V26  26
#define LIBXSMM_RV64_GP_REG_V27  27
#define LIBXSMM_RV64_GP_REG_V28  28
#define LIBXSMM_RV64_GP_REG_V29  29
#define LIBXSMM_RV64_GP_REG_V30  30
#define LIBXSMM_RV64_GP_REG_V31  31

#define LIBXSMM_RV64_GP_REG_UNDEF  127

/* SEW encoding */
#define LIBXSMM_RV64_SEW_B (0)
#define LIBXSMM_RV64_SEW_W (1)
#define LIBXSMM_RV64_SEW_D (2)
#define LIBXSMM_RV64_SEW_Q (3)

#define LIBXSMM_RV64_LMUL_F8 (5)
#define LIBXSMM_RV64_LMUL_F4 (6)
#define LIBXSMM_RV64_LMUL_F2 (7)
#define LIBXSMM_RV64_LMUL_M1 (0)
#define LIBXSMM_RV64_LMUL_M2 (1)
#define LIBXSMM_RV64_LMUL_M3 (2)
#define LIBXSMM_RV64_LMUL_M4 (3)

/* special instruction */
#define LIBXSMM_RV64_INSTR_UNDEF 9999

#define LIBXSMM_RV64_INSTR_GP_ADD 0x33
#define LIBXSMM_RV64_INSTR_GP_ADD16 0x40000077
#define LIBXSMM_RV64_INSTR_GP_ADD32 0x40002077
#define LIBXSMM_RV64_INSTR_GP_ADD64 0xc0001077
#define LIBXSMM_RV64_INSTR_GP_ADD8 0x48000077
#define LIBXSMM_RV64_INSTR_GP_ADD_UW 0x800003b
#define LIBXSMM_RV64_INSTR_GP_ADDD 0x7b
#define LIBXSMM_RV64_INSTR_GP_ADDI 0x13
#define LIBXSMM_RV64_INSTR_GP_ADDID 0x5b
#define LIBXSMM_RV64_INSTR_GP_ADDIW 0x1b
#define LIBXSMM_RV64_INSTR_GP_ADDW 0x3b
#define LIBXSMM_RV64_INSTR_GP_AES32DSI 0x2a000033
#define LIBXSMM_RV64_INSTR_GP_AES32DSMI 0x2e000033
#define LIBXSMM_RV64_INSTR_GP_AES32ESI 0x22000033
#define LIBXSMM_RV64_INSTR_GP_AES32ESMI 0x26000033
#define LIBXSMM_RV64_INSTR_GP_AES64DS 0x3a000033
#define LIBXSMM_RV64_INSTR_GP_AES64DSM 0x3e000033
#define LIBXSMM_RV64_INSTR_GP_AES64ES 0x32000033
#define LIBXSMM_RV64_INSTR_GP_AES64ESM 0x36000033
#define LIBXSMM_RV64_INSTR_GP_AES64IM 0x30001013
#define LIBXSMM_RV64_INSTR_GP_AES64KS1I 0x31001013
#define LIBXSMM_RV64_INSTR_GP_AES64KS2 0x7e000033
#define LIBXSMM_RV64_INSTR_GP_AMOADD_D 0x302f
#define LIBXSMM_RV64_INSTR_GP_AMOADD_W 0x202f
#define LIBXSMM_RV64_INSTR_GP_AMOAND_D 0x6000302f
#define LIBXSMM_RV64_INSTR_GP_AMOAND_W 0x6000202f
#define LIBXSMM_RV64_INSTR_GP_AMOMAX_D 0xa000302f
#define LIBXSMM_RV64_INSTR_GP_AMOMAX_W 0xa000202f
#define LIBXSMM_RV64_INSTR_GP_AMOMAXU_D 0xe000302f
#define LIBXSMM_RV64_INSTR_GP_AMOMAXU_W 0xe000202f
#define LIBXSMM_RV64_INSTR_GP_AMOMIN_D 0x8000302f
#define LIBXSMM_RV64_INSTR_GP_AMOMIN_W 0x8000202f
#define LIBXSMM_RV64_INSTR_GP_AMOMINU_D 0xc000302f
#define LIBXSMM_RV64_INSTR_GP_AMOMINU_W 0xc000202f
#define LIBXSMM_RV64_INSTR_GP_AMOOR_D 0x4000302f
#define LIBXSMM_RV64_INSTR_GP_AMOOR_W 0x4000202f
#define LIBXSMM_RV64_INSTR_GP_AMOSWAP_D 0x800302f
#define LIBXSMM_RV64_INSTR_GP_AMOSWAP_W 0x800202f
#define LIBXSMM_RV64_INSTR_GP_AMOXOR_D 0x2000302f
#define LIBXSMM_RV64_INSTR_GP_AMOXOR_W 0x2000202f
#define LIBXSMM_RV64_INSTR_GP_AND 0x7033
#define LIBXSMM_RV64_INSTR_GP_ANDI 0x7013
#define LIBXSMM_RV64_INSTR_GP_ANDN 0x40007033
#define LIBXSMM_RV64_INSTR_GP_AUIPC 0x17
#define LIBXSMM_RV64_INSTR_GP_AVE 0xe0000077
#define LIBXSMM_RV64_INSTR_GP_BCLR 0x48001033
#define LIBXSMM_RV64_INSTR_GP_BCLRI 0x48001013
#define LIBXSMM_RV64_INSTR_GP_BCOMPRESS 0x8006033
#define LIBXSMM_RV64_INSTR_GP_BCOMPRESSW 0x800603b
#define LIBXSMM_RV64_INSTR_GP_BDECOMPRESS 0x48006033
#define LIBXSMM_RV64_INSTR_GP_BDECOMPRESSW 0x4800603b
#define LIBXSMM_RV64_INSTR_GP_BEQ 0x63
#define LIBXSMM_RV64_INSTR_GP_BEXT 0x48005033
#define LIBXSMM_RV64_INSTR_GP_BEXTI 0x48005013
#define LIBXSMM_RV64_INSTR_GP_BFP 0x48007033
#define LIBXSMM_RV64_INSTR_GP_BFPW 0x4800703b
#define LIBXSMM_RV64_INSTR_GP_BGE 0x5063
#define LIBXSMM_RV64_INSTR_GP_BGEU 0x7063
#define LIBXSMM_RV64_INSTR_GP_BINV 0x68001033
#define LIBXSMM_RV64_INSTR_GP_BINVI 0x68001013
#define LIBXSMM_RV64_INSTR_GP_BLT 0x4063
#define LIBXSMM_RV64_INSTR_GP_BLTU 0x6063
#define LIBXSMM_RV64_INSTR_GP_BMATFLIP 0x60301013
#define LIBXSMM_RV64_INSTR_GP_BMATOR 0x8003033
#define LIBXSMM_RV64_INSTR_GP_BMATXOR 0x48003033
#define LIBXSMM_RV64_INSTR_GP_BNE 0x1063
#define LIBXSMM_RV64_INSTR_GP_BSET 0x28001033
#define LIBXSMM_RV64_INSTR_GP_BSETI 0x28001013
#define LIBXSMM_RV64_INSTR_GP_C_ADD 0x9002
#define LIBXSMM_RV64_INSTR_GP_C_ADDI 0x1
#define LIBXSMM_RV64_INSTR_GP_C_ADDI16SP 0x6101
#define LIBXSMM_RV64_INSTR_GP_C_ADDI4SPN 0x0
#define LIBXSMM_RV64_INSTR_GP_C_ADDIW 0x2001
#define LIBXSMM_RV64_INSTR_GP_C_ADDW 0x9c21
#define LIBXSMM_RV64_INSTR_GP_C_AND 0x8c61
#define LIBXSMM_RV64_INSTR_GP_C_ANDI 0x8801
#define LIBXSMM_RV64_INSTR_GP_C_BEQZ 0xc001
#define LIBXSMM_RV64_INSTR_GP_C_BNEZ 0xe001
#define LIBXSMM_RV64_INSTR_GP_C_EBREAK 0x9002
#define LIBXSMM_RV64_INSTR_GP_C_FLD 0x2000
#define LIBXSMM_RV64_INSTR_GP_C_FLDSP 0x2002
#define LIBXSMM_RV64_INSTR_GP_C_FLW 0x6000
#define LIBXSMM_RV64_INSTR_GP_C_FLWSP 0x6002
#define LIBXSMM_RV64_INSTR_GP_C_FSD 0xa000
#define LIBXSMM_RV64_INSTR_GP_C_FSDSP 0xa002
#define LIBXSMM_RV64_INSTR_GP_C_FSW 0xe000
#define LIBXSMM_RV64_INSTR_GP_C_FSWSP 0xe002
#define LIBXSMM_RV64_INSTR_GP_C_J 0xa001
#define LIBXSMM_RV64_INSTR_GP_C_JAL 0x2001
#define LIBXSMM_RV64_INSTR_GP_C_JALR 0x9002
#define LIBXSMM_RV64_INSTR_GP_C_JR 0x8002
#define LIBXSMM_RV64_INSTR_GP_C_LBU 0x8000
#define LIBXSMM_RV64_INSTR_GP_C_LD 0x6000
#define LIBXSMM_RV64_INSTR_GP_C_LDSP 0x6002
#define LIBXSMM_RV64_INSTR_GP_C_LH 0x8440
#define LIBXSMM_RV64_INSTR_GP_C_LHU 0x8400
#define LIBXSMM_RV64_INSTR_GP_C_LI 0x4001
#define LIBXSMM_RV64_INSTR_GP_C_LQ 0x2000
#define LIBXSMM_RV64_INSTR_GP_C_LQSP 0x2002
#define LIBXSMM_RV64_INSTR_GP_C_LUI 0x6001
#define LIBXSMM_RV64_INSTR_GP_C_LW 0x4000
#define LIBXSMM_RV64_INSTR_GP_C_LWSP 0x4002
#define LIBXSMM_RV64_INSTR_GP_C_MUL 0x9c41
#define LIBXSMM_RV64_INSTR_GP_C_MV 0x8002
#define LIBXSMM_RV64_INSTR_GP_C_NOP 0x1
#define LIBXSMM_RV64_INSTR_GP_C_NOT 0x9c75
#define LIBXSMM_RV64_INSTR_GP_C_OR 0x8c41
#define LIBXSMM_RV64_INSTR_GP_C_SB 0x8800
#define LIBXSMM_RV64_INSTR_GP_C_SD 0xe000
#define LIBXSMM_RV64_INSTR_GP_C_SDSP 0xe002
#define LIBXSMM_RV64_INSTR_GP_C_SEXT_B 0x9c65
#define LIBXSMM_RV64_INSTR_GP_C_SEXT_H 0x9c6d
#define LIBXSMM_RV64_INSTR_GP_C_SH 0x8c00
#define LIBXSMM_RV64_INSTR_GP_C_SLLI 0x2
#define LIBXSMM_RV64_INSTR_GP_C_SQ 0xa000
#define LIBXSMM_RV64_INSTR_GP_C_SQSP 0xa002
#define LIBXSMM_RV64_INSTR_GP_C_SRAI 0x8401
#define LIBXSMM_RV64_INSTR_GP_C_SRLI 0x8001
#define LIBXSMM_RV64_INSTR_GP_C_SUB 0x8c01
#define LIBXSMM_RV64_INSTR_GP_C_SUBW 0x9c01
#define LIBXSMM_RV64_INSTR_GP_C_SW 0xc000
#define LIBXSMM_RV64_INSTR_GP_C_SWSP 0xc002
#define LIBXSMM_RV64_INSTR_GP_C_XOR 0x8c21
#define LIBXSMM_RV64_INSTR_GP_C_ZEXT_B 0x9c61
#define LIBXSMM_RV64_INSTR_GP_C_ZEXT_H 0x9c69
#define LIBXSMM_RV64_INSTR_GP_C_ZEXT_W 0x9c71
#define LIBXSMM_RV64_INSTR_GP_CBO_CLEAN 0x10200f
#define LIBXSMM_RV64_INSTR_GP_CBO_FLUSH 0x20200f
#define LIBXSMM_RV64_INSTR_GP_CBO_INVAL 0x200f
#define LIBXSMM_RV64_INSTR_GP_CBO_ZERO 0x40200f
#define LIBXSMM_RV64_INSTR_GP_CLMUL 0xa001033
#define LIBXSMM_RV64_INSTR_GP_CLMULH 0xa003033
#define LIBXSMM_RV64_INSTR_GP_CLMULR 0xa002033
#define LIBXSMM_RV64_INSTR_GP_CLRS16 0xae800077
#define LIBXSMM_RV64_INSTR_GP_CLRS32 0xaf800077
#define LIBXSMM_RV64_INSTR_GP_CLRS8 0xae000077
#define LIBXSMM_RV64_INSTR_GP_CLZ 0x60001013
#define LIBXSMM_RV64_INSTR_GP_CLZ16 0xae900077
#define LIBXSMM_RV64_INSTR_GP_CLZ32 0xaf900077
#define LIBXSMM_RV64_INSTR_GP_CLZ8 0xae100077
#define LIBXSMM_RV64_INSTR_GP_CLZW 0x6000101b
#define LIBXSMM_RV64_INSTR_GP_CM_JALT 0xa002
#define LIBXSMM_RV64_INSTR_GP_CM_MVA01S 0xac62
#define LIBXSMM_RV64_INSTR_GP_CM_MVSA01 0xac22
#define LIBXSMM_RV64_INSTR_GP_CM_POP 0xba02
#define LIBXSMM_RV64_INSTR_GP_CM_POPRET 0xbe02
#define LIBXSMM_RV64_INSTR_GP_CM_POPRETZ 0xbc02
#define LIBXSMM_RV64_INSTR_GP_CM_PUSH 0xb802
#define LIBXSMM_RV64_INSTR_GP_CMIX 0x6001033
#define LIBXSMM_RV64_INSTR_GP_CMOV 0x6005033
#define LIBXSMM_RV64_INSTR_GP_CMPEQ16 0x4c000077
#define LIBXSMM_RV64_INSTR_GP_CMPEQ8 0x4e000077
#define LIBXSMM_RV64_INSTR_GP_CPOP 0x60201013
#define LIBXSMM_RV64_INSTR_GP_CPOPW 0x6020101b
#define LIBXSMM_RV64_INSTR_GP_CRAS16 0x44000077
#define LIBXSMM_RV64_INSTR_GP_CRAS32 0x44002077
#define LIBXSMM_RV64_INSTR_GP_CRC32_B 0x61001013
#define LIBXSMM_RV64_INSTR_GP_CRC32_D 0x61301013
#define LIBXSMM_RV64_INSTR_GP_CRC32_H 0x61101013
#define LIBXSMM_RV64_INSTR_GP_CRC32_W 0x61201013
#define LIBXSMM_RV64_INSTR_GP_CRC32C_B 0x61801013
#define LIBXSMM_RV64_INSTR_GP_CRC32C_D 0x61b01013
#define LIBXSMM_RV64_INSTR_GP_CRC32C_H 0x61901013
#define LIBXSMM_RV64_INSTR_GP_CRC32C_W 0x61a01013
#define LIBXSMM_RV64_INSTR_GP_CRSA16 0x46000077
#define LIBXSMM_RV64_INSTR_GP_CRSA32 0x46002077
#define LIBXSMM_RV64_INSTR_GP_CSRRC 0x3073
#define LIBXSMM_RV64_INSTR_GP_CSRRCI 0x7073
#define LIBXSMM_RV64_INSTR_GP_CSRRS 0x2073
#define LIBXSMM_RV64_INSTR_GP_CSRRSI 0x6073
#define LIBXSMM_RV64_INSTR_GP_CSRRW 0x1073
#define LIBXSMM_RV64_INSTR_GP_CSRRWI 0x5073
#define LIBXSMM_RV64_INSTR_GP_CTZ 0x60101013
#define LIBXSMM_RV64_INSTR_GP_CTZW 0x6010101b
#define LIBXSMM_RV64_INSTR_GP_CZERO_EQZ 0xe005033
#define LIBXSMM_RV64_INSTR_GP_CZERO_NEZ 0xe007033
#define LIBXSMM_RV64_INSTR_GP_DIV 0x2004033
#define LIBXSMM_RV64_INSTR_GP_DIVU 0x2005033
#define LIBXSMM_RV64_INSTR_GP_DIVUW 0x200503b
#define LIBXSMM_RV64_INSTR_GP_DIVW 0x200403b
#define LIBXSMM_RV64_INSTR_GP_DRET 0x7b200073
#define LIBXSMM_RV64_INSTR_GP_EBREAK 0x100073
#define LIBXSMM_RV64_INSTR_GP_ECALL 0x73
#define LIBXSMM_RV64_INSTR_GP_FADD_D 0x2000053
#define LIBXSMM_RV64_INSTR_GP_FADD_H 0x4000053
#define LIBXSMM_RV64_INSTR_GP_FADD_Q 0x6000053
#define LIBXSMM_RV64_INSTR_GP_FADD_S 0x53
#define LIBXSMM_RV64_INSTR_GP_FCLASS_D 0xe2001053
#define LIBXSMM_RV64_INSTR_GP_FCLASS_H 0xe4001053
#define LIBXSMM_RV64_INSTR_GP_FCLASS_Q 0xe6001053
#define LIBXSMM_RV64_INSTR_GP_FCLASS_S 0xe0001053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_H 0x42200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_L 0xd2200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_LU 0xd2300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_Q 0x42300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_S 0x42000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_W 0xd2000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_D_WU 0xd2100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_D 0x44100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_L 0xd4200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_LU 0xd4300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_Q 0x44300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_S 0x44000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_W 0xd4000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_H_WU 0xd4100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_L_D 0xc2200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_L_H 0xc4200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_L_Q 0xc6200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_L_S 0xc0200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_LU_D 0xc2300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_LU_H 0xc4300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_LU_Q 0xc6300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_LU_S 0xc0300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_D 0x46100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_H 0x46200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_L 0xd6200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_LU 0xd6300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_S 0x46000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_W 0xd6000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_Q_WU 0xd6100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_D 0x40100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_H 0x40200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_L 0xd0200053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_LU 0xd0300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_Q 0x40300053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_W 0xd0000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_S_WU 0xd0100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_W_D 0xc2000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_W_H 0xc4000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_W_Q 0xc6000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_W_S 0xc0000053
#define LIBXSMM_RV64_INSTR_GP_FCVT_WU_D 0xc2100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_WU_H 0xc4100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_WU_Q 0xc6100053
#define LIBXSMM_RV64_INSTR_GP_FCVT_WU_S 0xc0100053
#define LIBXSMM_RV64_INSTR_GP_FDIV_D 0x1a000053
#define LIBXSMM_RV64_INSTR_GP_FDIV_H 0x1c000053
#define LIBXSMM_RV64_INSTR_GP_FDIV_Q 0x1e000053
#define LIBXSMM_RV64_INSTR_GP_FDIV_S 0x18000053
#define LIBXSMM_RV64_INSTR_GP_FENCE 0xf
#define LIBXSMM_RV64_INSTR_GP_FENCE_I 0x100f
#define LIBXSMM_RV64_INSTR_GP_FEQ_D 0xa2002053
#define LIBXSMM_RV64_INSTR_GP_FEQ_H 0xa4002053
#define LIBXSMM_RV64_INSTR_GP_FEQ_Q 0xa6002053
#define LIBXSMM_RV64_INSTR_GP_FEQ_S 0xa0002053
#define LIBXSMM_RV64_INSTR_GP_FLD 0x3007
#define LIBXSMM_RV64_INSTR_GP_FLE_D 0xa2000053
#define LIBXSMM_RV64_INSTR_GP_FLE_H 0xa4000053
#define LIBXSMM_RV64_INSTR_GP_FLE_Q 0xa6000053
#define LIBXSMM_RV64_INSTR_GP_FLE_S 0xa0000053
#define LIBXSMM_RV64_INSTR_GP_FLH 0x1007
#define LIBXSMM_RV64_INSTR_GP_FLQ 0x4007
#define LIBXSMM_RV64_INSTR_GP_FLT_D 0xa2001053
#define LIBXSMM_RV64_INSTR_GP_FLT_H 0xa4001053
#define LIBXSMM_RV64_INSTR_GP_FLT_Q 0xa6001053
#define LIBXSMM_RV64_INSTR_GP_FLT_S 0xa0001053
#define LIBXSMM_RV64_INSTR_GP_FLW 0x2007
#define LIBXSMM_RV64_INSTR_GP_FMADD_D 0x2000043
#define LIBXSMM_RV64_INSTR_GP_FMADD_H 0x4000043
#define LIBXSMM_RV64_INSTR_GP_FMADD_Q 0x6000043
#define LIBXSMM_RV64_INSTR_GP_FMADD_S 0x43
#define LIBXSMM_RV64_INSTR_GP_FMAX_D 0x2a001053
#define LIBXSMM_RV64_INSTR_GP_FMAX_H 0x2c001053
#define LIBXSMM_RV64_INSTR_GP_FMAX_Q 0x2e001053
#define LIBXSMM_RV64_INSTR_GP_FMAX_S 0x28001053
#define LIBXSMM_RV64_INSTR_GP_FMIN_D 0x2a000053
#define LIBXSMM_RV64_INSTR_GP_FMIN_H 0x2c000053
#define LIBXSMM_RV64_INSTR_GP_FMIN_Q 0x2e000053
#define LIBXSMM_RV64_INSTR_GP_FMIN_S 0x28000053
#define LIBXSMM_RV64_INSTR_GP_FMSUB_D 0x2000047
#define LIBXSMM_RV64_INSTR_GP_FMSUB_H 0x4000047
#define LIBXSMM_RV64_INSTR_GP_FMSUB_Q 0x6000047
#define LIBXSMM_RV64_INSTR_GP_FMSUB_S 0x47
#define LIBXSMM_RV64_INSTR_GP_FMUL_D 0x12000053
#define LIBXSMM_RV64_INSTR_GP_FMUL_H 0x14000053
#define LIBXSMM_RV64_INSTR_GP_FMUL_Q 0x16000053
#define LIBXSMM_RV64_INSTR_GP_FMUL_S 0x10000053
#define LIBXSMM_RV64_INSTR_GP_FMV_D_X 0xf2000053
#define LIBXSMM_RV64_INSTR_GP_FMV_H_X 0xf4000053
#define LIBXSMM_RV64_INSTR_GP_FMV_W_X 0xf0000053
#define LIBXSMM_RV64_INSTR_GP_FMV_X_D 0xe2000053
#define LIBXSMM_RV64_INSTR_GP_FMV_X_H 0xe4000053
#define LIBXSMM_RV64_INSTR_GP_FMV_X_W 0xe0000053
#define LIBXSMM_RV64_INSTR_GP_FNMADD_D 0x200004f
#define LIBXSMM_RV64_INSTR_GP_FNMADD_H 0x400004f
#define LIBXSMM_RV64_INSTR_GP_FNMADD_Q 0x600004f
#define LIBXSMM_RV64_INSTR_GP_FNMADD_S 0x4f
#define LIBXSMM_RV64_INSTR_GP_FNMSUB_D 0x200004b
#define LIBXSMM_RV64_INSTR_GP_FNMSUB_H 0x400004b
#define LIBXSMM_RV64_INSTR_GP_FNMSUB_Q 0x600004b
#define LIBXSMM_RV64_INSTR_GP_FNMSUB_S 0x4b
#define LIBXSMM_RV64_INSTR_GP_FSD 0x3027
#define LIBXSMM_RV64_INSTR_GP_FSGNJ_D 0x22000053
#define LIBXSMM_RV64_INSTR_GP_FSGNJ_H 0x24000053
#define LIBXSMM_RV64_INSTR_GP_FSGNJ_Q 0x26000053
#define LIBXSMM_RV64_INSTR_GP_FSGNJ_S 0x20000053
#define LIBXSMM_RV64_INSTR_GP_FSGNJN_D 0x22001053
#define LIBXSMM_RV64_INSTR_GP_FSGNJN_H 0x24001053
#define LIBXSMM_RV64_INSTR_GP_FSGNJN_Q 0x26001053
#define LIBXSMM_RV64_INSTR_GP_FSGNJN_S 0x20001053
#define LIBXSMM_RV64_INSTR_GP_FSGNJX_D 0x22002053
#define LIBXSMM_RV64_INSTR_GP_FSGNJX_H 0x24002053
#define LIBXSMM_RV64_INSTR_GP_FSGNJX_Q 0x26002053
#define LIBXSMM_RV64_INSTR_GP_FSGNJX_S 0x20002053
#define LIBXSMM_RV64_INSTR_GP_FSH 0x1027
#define LIBXSMM_RV64_INSTR_GP_FSL 0x4001033
#define LIBXSMM_RV64_INSTR_GP_FSLW 0x400103b
#define LIBXSMM_RV64_INSTR_GP_FSQ 0x4027
#define LIBXSMM_RV64_INSTR_GP_FSQRT_D 0x5a000053
#define LIBXSMM_RV64_INSTR_GP_FSQRT_H 0x5c000053
#define LIBXSMM_RV64_INSTR_GP_FSQRT_Q 0x5e000053
#define LIBXSMM_RV64_INSTR_GP_FSQRT_S 0x58000053
#define LIBXSMM_RV64_INSTR_GP_FSR 0x4005033
#define LIBXSMM_RV64_INSTR_GP_FSRI 0x4005013
#define LIBXSMM_RV64_INSTR_GP_FSRIW 0x400501b
#define LIBXSMM_RV64_INSTR_GP_FSRW 0x400503b
#define LIBXSMM_RV64_INSTR_GP_FSUB_D 0xa000053
#define LIBXSMM_RV64_INSTR_GP_FSUB_H 0xc000053
#define LIBXSMM_RV64_INSTR_GP_FSUB_Q 0xe000053
#define LIBXSMM_RV64_INSTR_GP_FSUB_S 0x8000053
#define LIBXSMM_RV64_INSTR_GP_FSW 0x2027
#define LIBXSMM_RV64_INSTR_GP_GORC 0x28005033
#define LIBXSMM_RV64_INSTR_GP_GORCI 0x28005013
#define LIBXSMM_RV64_INSTR_GP_GORCIW 0x2800501b
#define LIBXSMM_RV64_INSTR_GP_GORCW 0x2800503b
#define LIBXSMM_RV64_INSTR_GP_GREV 0x68005033
#define LIBXSMM_RV64_INSTR_GP_GREVI 0x68005013
#define LIBXSMM_RV64_INSTR_GP_GREVIW 0x6800501b
#define LIBXSMM_RV64_INSTR_GP_GREVW 0x6800503b
#define LIBXSMM_RV64_INSTR_GP_HFENCE_GVMA 0x62000073
#define LIBXSMM_RV64_INSTR_GP_HFENCE_VVMA 0x22000073
#define LIBXSMM_RV64_INSTR_GP_HINVAL_GVMA 0x66000073
#define LIBXSMM_RV64_INSTR_GP_HINVAL_VVMA 0x26000073
#define LIBXSMM_RV64_INSTR_GP_HLV_B 0x60004073
#define LIBXSMM_RV64_INSTR_GP_HLV_BU 0x60104073
#define LIBXSMM_RV64_INSTR_GP_HLV_D 0x6c004073
#define LIBXSMM_RV64_INSTR_GP_HLV_H 0x64004073
#define LIBXSMM_RV64_INSTR_GP_HLV_HU 0x64104073
#define LIBXSMM_RV64_INSTR_GP_HLV_W 0x68004073
#define LIBXSMM_RV64_INSTR_GP_HLV_WU 0x68104073
#define LIBXSMM_RV64_INSTR_GP_HLVX_HU 0x64304073
#define LIBXSMM_RV64_INSTR_GP_HLVX_WU 0x68304073
#define LIBXSMM_RV64_INSTR_GP_HSV_B 0x62004073
#define LIBXSMM_RV64_INSTR_GP_HSV_D 0x6e004073
#define LIBXSMM_RV64_INSTR_GP_HSV_H 0x66004073
#define LIBXSMM_RV64_INSTR_GP_HSV_W 0x6a004073
#define LIBXSMM_RV64_INSTR_GP_INSB 0xac000077
#define LIBXSMM_RV64_INSTR_GP_JAL 0x6f
#define LIBXSMM_RV64_INSTR_GP_JALR 0x67
#define LIBXSMM_RV64_INSTR_GP_KABS16 0xad100077
#define LIBXSMM_RV64_INSTR_GP_KABS32 0xad200077
#define LIBXSMM_RV64_INSTR_GP_KABS8 0xad000077
#define LIBXSMM_RV64_INSTR_GP_KABSW 0xad400077
#define LIBXSMM_RV64_INSTR_GP_KADD16 0x10000077
#define LIBXSMM_RV64_INSTR_GP_KADD32 0x10002077
#define LIBXSMM_RV64_INSTR_GP_KADD64 0x90001077
#define LIBXSMM_RV64_INSTR_GP_KADD8 0x18000077
#define LIBXSMM_RV64_INSTR_GP_KADDH 0x4001077
#define LIBXSMM_RV64_INSTR_GP_KADDW 0x1077
#define LIBXSMM_RV64_INSTR_GP_KCRAS16 0x14000077
#define LIBXSMM_RV64_INSTR_GP_KCRAS32 0x14002077
#define LIBXSMM_RV64_INSTR_GP_KCRSA16 0x16000077
#define LIBXSMM_RV64_INSTR_GP_KCRSA32 0x16002077
#define LIBXSMM_RV64_INSTR_GP_KDMABB 0xd2001077
#define LIBXSMM_RV64_INSTR_GP_KDMABB16 0xd8001077
#define LIBXSMM_RV64_INSTR_GP_KDMABT 0xe2001077
#define LIBXSMM_RV64_INSTR_GP_KDMABT16 0xe8001077
#define LIBXSMM_RV64_INSTR_GP_KDMATT 0xf2001077
#define LIBXSMM_RV64_INSTR_GP_KDMATT16 0xf8001077
#define LIBXSMM_RV64_INSTR_GP_KDMBB 0xa001077
#define LIBXSMM_RV64_INSTR_GP_KDMBB16 0xda001077
#define LIBXSMM_RV64_INSTR_GP_KDMBT 0x1a001077
#define LIBXSMM_RV64_INSTR_GP_KDMBT16 0xea001077
#define LIBXSMM_RV64_INSTR_GP_KDMTT 0x2a001077
#define LIBXSMM_RV64_INSTR_GP_KDMTT16 0xfa001077
#define LIBXSMM_RV64_INSTR_GP_KHM16 0x86000077
#define LIBXSMM_RV64_INSTR_GP_KHM8 0x8e000077
#define LIBXSMM_RV64_INSTR_GP_KHMBB 0xc001077
#define LIBXSMM_RV64_INSTR_GP_KHMBB16 0xdc001077
#define LIBXSMM_RV64_INSTR_GP_KHMBT 0x1c001077
#define LIBXSMM_RV64_INSTR_GP_KHMBT16 0xec001077
#define LIBXSMM_RV64_INSTR_GP_KHMTT 0x2c001077
#define LIBXSMM_RV64_INSTR_GP_KHMTT16 0xfc001077
#define LIBXSMM_RV64_INSTR_GP_KHMX16 0x96000077
#define LIBXSMM_RV64_INSTR_GP_KHMX8 0x9e000077
#define LIBXSMM_RV64_INSTR_GP_KMABB 0x5a001077
#define LIBXSMM_RV64_INSTR_GP_KMABB32 0x5a002077
#define LIBXSMM_RV64_INSTR_GP_KMABT 0x6a001077
#define LIBXSMM_RV64_INSTR_GP_KMABT32 0x6a002077
#define LIBXSMM_RV64_INSTR_GP_KMADA 0x48001077
#define LIBXSMM_RV64_INSTR_GP_KMADRS 0x6c001077
#define LIBXSMM_RV64_INSTR_GP_KMADRS32 0x6c002077
#define LIBXSMM_RV64_INSTR_GP_KMADS 0x5c001077
#define LIBXSMM_RV64_INSTR_GP_KMADS32 0x5c002077
#define LIBXSMM_RV64_INSTR_GP_KMAR64 0x94001077
#define LIBXSMM_RV64_INSTR_GP_KMATT 0x7a001077
#define LIBXSMM_RV64_INSTR_GP_KMATT32 0x7a002077
#define LIBXSMM_RV64_INSTR_GP_KMAXDA 0x4a001077
#define LIBXSMM_RV64_INSTR_GP_KMAXDA32 0x4a002077
#define LIBXSMM_RV64_INSTR_GP_KMAXDS 0x7c001077
#define LIBXSMM_RV64_INSTR_GP_KMAXDS32 0x7c002077
#define LIBXSMM_RV64_INSTR_GP_KMDA 0x38001077
#define LIBXSMM_RV64_INSTR_GP_KMDA32 0x38002077
#define LIBXSMM_RV64_INSTR_GP_KMMAC 0x60001077
#define LIBXSMM_RV64_INSTR_GP_KMMAC_U 0x70001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWB 0x46001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWB2 0xce001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWB2_U 0xde001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWB_U 0x56001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWT 0x66001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWT2 0xee001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWT2_U 0xfe001077
#define LIBXSMM_RV64_INSTR_GP_KMMAWT_U 0x76001077
#define LIBXSMM_RV64_INSTR_GP_KMMSB 0x42001077
#define LIBXSMM_RV64_INSTR_GP_KMMSB_U 0x52001077
#define LIBXSMM_RV64_INSTR_GP_KMMWB2 0x8e001077
#define LIBXSMM_RV64_INSTR_GP_KMMWB2_U 0x9e001077
#define LIBXSMM_RV64_INSTR_GP_KMMWT2 0xae001077
#define LIBXSMM_RV64_INSTR_GP_KMMWT2_U 0xbe001077
#define LIBXSMM_RV64_INSTR_GP_KMSDA 0x4c001077
#define LIBXSMM_RV64_INSTR_GP_KMSDA32 0x4c002077
#define LIBXSMM_RV64_INSTR_GP_KMSR64 0x96001077
#define LIBXSMM_RV64_INSTR_GP_KMSXDA 0x4e001077
#define LIBXSMM_RV64_INSTR_GP_KMSXDA32 0x4e002077
#define LIBXSMM_RV64_INSTR_GP_KMXDA 0x3a001077
#define LIBXSMM_RV64_INSTR_GP_KMXDA32 0x3a002077
#define LIBXSMM_RV64_INSTR_GP_KSLL16 0x64000077
#define LIBXSMM_RV64_INSTR_GP_KSLL32 0x64002077
#define LIBXSMM_RV64_INSTR_GP_KSLL8 0x6c000077
#define LIBXSMM_RV64_INSTR_GP_KSLLI16 0x75000077
#define LIBXSMM_RV64_INSTR_GP_KSLLI32 0x84002077
#define LIBXSMM_RV64_INSTR_GP_KSLLI8 0x7c800077
#define LIBXSMM_RV64_INSTR_GP_KSLLIW 0x36001077
#define LIBXSMM_RV64_INSTR_GP_KSLLW 0x26001077
#define LIBXSMM_RV64_INSTR_GP_KSLRA16 0x56000077
#define LIBXSMM_RV64_INSTR_GP_KSLRA16_U 0x66000077
#define LIBXSMM_RV64_INSTR_GP_KSLRA32 0x56002077
#define LIBXSMM_RV64_INSTR_GP_KSLRA32_U 0x66002077
#define LIBXSMM_RV64_INSTR_GP_KSLRA8 0x5e000077
#define LIBXSMM_RV64_INSTR_GP_KSLRA8_U 0x6e000077
#define LIBXSMM_RV64_INSTR_GP_KSLRAW 0x6e001077
#define LIBXSMM_RV64_INSTR_GP_KSLRAW_U 0x7e001077
#define LIBXSMM_RV64_INSTR_GP_KSTAS16 0xc4002077
#define LIBXSMM_RV64_INSTR_GP_KSTAS32 0xc0002077
#define LIBXSMM_RV64_INSTR_GP_KSTSA16 0xc6002077
#define LIBXSMM_RV64_INSTR_GP_KSTSA32 0xc2002077
#define LIBXSMM_RV64_INSTR_GP_KSUB16 0x12000077
#define LIBXSMM_RV64_INSTR_GP_KSUB32 0x12002077
#define LIBXSMM_RV64_INSTR_GP_KSUB64 0x92001077
#define LIBXSMM_RV64_INSTR_GP_KSUB8 0x1a000077
#define LIBXSMM_RV64_INSTR_GP_KSUBH 0x6001077
#define LIBXSMM_RV64_INSTR_GP_KSUBW 0x2001077
#define LIBXSMM_RV64_INSTR_GP_KWMMUL 0x62001077
#define LIBXSMM_RV64_INSTR_GP_KWMMUL_U 0x72001077
#define LIBXSMM_RV64_INSTR_GP_LB 0x3
#define LIBXSMM_RV64_INSTR_GP_LBU 0x4003
#define LIBXSMM_RV64_INSTR_GP_LD 0x3003
#define LIBXSMM_RV64_INSTR_GP_LDU 0x7003
#define LIBXSMM_RV64_INSTR_GP_LH 0x1003
#define LIBXSMM_RV64_INSTR_GP_LHU 0x5003
#define LIBXSMM_RV64_INSTR_GP_LQ 0x300f
#define LIBXSMM_RV64_INSTR_GP_LR_D 0x1000302f
#define LIBXSMM_RV64_INSTR_GP_LR_W 0x1000202f
#define LIBXSMM_RV64_INSTR_GP_LUI 0x37
#define LIBXSMM_RV64_INSTR_GP_LW 0x2003
#define LIBXSMM_RV64_INSTR_GP_LWU 0x6003
#define LIBXSMM_RV64_INSTR_GP_MADDR32 0xc4001077
#define LIBXSMM_RV64_INSTR_GP_MAX 0xa006033
#define LIBXSMM_RV64_INSTR_GP_MAXU 0xa007033
#define LIBXSMM_RV64_INSTR_GP_MIN 0xa004033
#define LIBXSMM_RV64_INSTR_GP_MINU 0xa005033
#define LIBXSMM_RV64_INSTR_GP_MRET 0x30200073
#define LIBXSMM_RV64_INSTR_GP_MSUBR32 0xc6001077
#define LIBXSMM_RV64_INSTR_GP_MUL 0x2000033
#define LIBXSMM_RV64_INSTR_GP_MULH 0x2001033
#define LIBXSMM_RV64_INSTR_GP_MULHSU 0x2002033
#define LIBXSMM_RV64_INSTR_GP_MULHU 0x2003033
#define LIBXSMM_RV64_INSTR_GP_MULR64 0xf0001077
#define LIBXSMM_RV64_INSTR_GP_MULSR64 0xe0001077
#define LIBXSMM_RV64_INSTR_GP_MULW 0x200003b
#define LIBXSMM_RV64_INSTR_GP_OR 0x6033
#define LIBXSMM_RV64_INSTR_GP_ORI 0x6013
#define LIBXSMM_RV64_INSTR_GP_ORN 0x40006033
#define LIBXSMM_RV64_INSTR_GP_PACK 0x8004033
#define LIBXSMM_RV64_INSTR_GP_PACKH 0x8007033
#define LIBXSMM_RV64_INSTR_GP_PACKU 0x48004033
#define LIBXSMM_RV64_INSTR_GP_PACKUW 0x4800403b
#define LIBXSMM_RV64_INSTR_GP_PACKW 0x800403b
#define LIBXSMM_RV64_INSTR_GP_PAUSE 0x100000f
#define LIBXSMM_RV64_INSTR_GP_PBSAD 0xfc000077
#define LIBXSMM_RV64_INSTR_GP_PBSADA 0xfe000077
#define LIBXSMM_RV64_INSTR_GP_PKBB16 0xe001077
#define LIBXSMM_RV64_INSTR_GP_PKBT16 0x1e001077
#define LIBXSMM_RV64_INSTR_GP_PKBT32 0x1e002077
#define LIBXSMM_RV64_INSTR_GP_PKTB16 0x3e001077
#define LIBXSMM_RV64_INSTR_GP_PKTB32 0x3e002077
#define LIBXSMM_RV64_INSTR_GP_PKTT16 0x2e001077
#define LIBXSMM_RV64_INSTR_GP_PREFETCH_I 0x6013
#define LIBXSMM_RV64_INSTR_GP_PREFETCH_R 0x106013
#define LIBXSMM_RV64_INSTR_GP_PREFETCH_W 0x306013
#define LIBXSMM_RV64_INSTR_GP_RADD16 0x77
#define LIBXSMM_RV64_INSTR_GP_RADD32 0x2077
#define LIBXSMM_RV64_INSTR_GP_RADD64 0x80001077
#define LIBXSMM_RV64_INSTR_GP_RADD8 0x8000077
#define LIBXSMM_RV64_INSTR_GP_RADDW 0x20001077
#define LIBXSMM_RV64_INSTR_GP_RCRAS16 0x4000077
#define LIBXSMM_RV64_INSTR_GP_RCRAS32 0x4002077
#define LIBXSMM_RV64_INSTR_GP_RCRSA16 0x6000077
#define LIBXSMM_RV64_INSTR_GP_RCRSA32 0x6002077
#define LIBXSMM_RV64_INSTR_GP_REM 0x2006033
#define LIBXSMM_RV64_INSTR_GP_REMU 0x2007033
#define LIBXSMM_RV64_INSTR_GP_REMUW 0x200703b
#define LIBXSMM_RV64_INSTR_GP_REMW 0x200603b
#define LIBXSMM_RV64_INSTR_GP_ROL 0x60001033
#define LIBXSMM_RV64_INSTR_GP_ROLW 0x6000103b
#define LIBXSMM_RV64_INSTR_GP_ROR 0x60005033
#define LIBXSMM_RV64_INSTR_GP_RORI 0x60005013
#define LIBXSMM_RV64_INSTR_GP_RORIW 0x6000501b
#define LIBXSMM_RV64_INSTR_GP_RORW 0x6000503b
#define LIBXSMM_RV64_INSTR_GP_RSTAS16 0xb4002077
#define LIBXSMM_RV64_INSTR_GP_RSTAS32 0xb0002077
#define LIBXSMM_RV64_INSTR_GP_RSTSA16 0xb6002077
#define LIBXSMM_RV64_INSTR_GP_RSTSA32 0xb2002077
#define LIBXSMM_RV64_INSTR_GP_RSUB16 0x2000077
#define LIBXSMM_RV64_INSTR_GP_RSUB32 0x2002077
#define LIBXSMM_RV64_INSTR_GP_RSUB64 0x82001077
#define LIBXSMM_RV64_INSTR_GP_RSUB8 0xa000077
#define LIBXSMM_RV64_INSTR_GP_RSUBW 0x22001077
#define LIBXSMM_RV64_INSTR_GP_SB 0x23
#define LIBXSMM_RV64_INSTR_GP_SC_D 0x1800302f
#define LIBXSMM_RV64_INSTR_GP_SC_W 0x1800202f
#define LIBXSMM_RV64_INSTR_GP_SCLIP16 0x84000077
#define LIBXSMM_RV64_INSTR_GP_SCLIP32 0xe4000077
#define LIBXSMM_RV64_INSTR_GP_SCLIP8 0x8c000077
#define LIBXSMM_RV64_INSTR_GP_SCMPLE16 0x1c000077
#define LIBXSMM_RV64_INSTR_GP_SCMPLE8 0x1e000077
#define LIBXSMM_RV64_INSTR_GP_SCMPLT16 0xc000077
#define LIBXSMM_RV64_INSTR_GP_SCMPLT8 0xe000077
#define LIBXSMM_RV64_INSTR_GP_SD 0x3023
#define LIBXSMM_RV64_INSTR_GP_SEXT_B 0x60401013
#define LIBXSMM_RV64_INSTR_GP_SEXT_H 0x60501013
#define LIBXSMM_RV64_INSTR_GP_SFENCE_INVAL_IR 0x18100073
#define LIBXSMM_RV64_INSTR_GP_SFENCE_VMA 0x12000073
#define LIBXSMM_RV64_INSTR_GP_SFENCE_W_INVAL 0x18000073
#define LIBXSMM_RV64_INSTR_GP_SH 0x1023
#define LIBXSMM_RV64_INSTR_GP_SH1ADD 0x20002033
#define LIBXSMM_RV64_INSTR_GP_SH1ADD_UW 0x2000203b
#define LIBXSMM_RV64_INSTR_GP_SH2ADD 0x20004033
#define LIBXSMM_RV64_INSTR_GP_SH2ADD_UW 0x2000403b
#define LIBXSMM_RV64_INSTR_GP_SH3ADD 0x20006033
#define LIBXSMM_RV64_INSTR_GP_SH3ADD_UW 0x2000603b
#define LIBXSMM_RV64_INSTR_GP_SHA256SIG0 0x10201013
#define LIBXSMM_RV64_INSTR_GP_SHA256SIG1 0x10301013
#define LIBXSMM_RV64_INSTR_GP_SHA256SUM0 0x10001013
#define LIBXSMM_RV64_INSTR_GP_SHA256SUM1 0x10101013
#define LIBXSMM_RV64_INSTR_GP_SHA512SIG0 0x10601013
#define LIBXSMM_RV64_INSTR_GP_SHA512SIG0H 0x5c000033
#define LIBXSMM_RV64_INSTR_GP_SHA512SIG0L 0x54000033
#define LIBXSMM_RV64_INSTR_GP_SHA512SIG1 0x10701013
#define LIBXSMM_RV64_INSTR_GP_SHA512SIG1H 0x5e000033
#define LIBXSMM_RV64_INSTR_GP_SHA512SIG1L 0x56000033
#define LIBXSMM_RV64_INSTR_GP_SHA512SUM0 0x10401013
#define LIBXSMM_RV64_INSTR_GP_SHA512SUM0R 0x50000033
#define LIBXSMM_RV64_INSTR_GP_SHA512SUM1 0x10501013
#define LIBXSMM_RV64_INSTR_GP_SHA512SUM1R 0x52000033
#define LIBXSMM_RV64_INSTR_GP_SHFL 0x8001033
#define LIBXSMM_RV64_INSTR_GP_SHFLI 0x8001013
#define LIBXSMM_RV64_INSTR_GP_SHFLW 0x800103b
#define LIBXSMM_RV64_INSTR_GP_SINVAL_VMA 0x16000073
#define LIBXSMM_RV64_INSTR_GP_SLL 0x1033
#define LIBXSMM_RV64_INSTR_GP_SLL16 0x54000077
#define LIBXSMM_RV64_INSTR_GP_SLL32 0x54002077
#define LIBXSMM_RV64_INSTR_GP_SLL8 0x5c000077
#define LIBXSMM_RV64_INSTR_GP_SLLD 0x107b
#define LIBXSMM_RV64_INSTR_GP_SLLI 0x1013
#define LIBXSMM_RV64_INSTR_GP_SLLI16 0x74000077
#define LIBXSMM_RV64_INSTR_GP_SLLI32 0x74002077
#define LIBXSMM_RV64_INSTR_GP_SLLI8 0x7c000077
#define LIBXSMM_RV64_INSTR_GP_SLLI_RV128 0x1013
#define LIBXSMM_RV64_INSTR_GP_SLLI_RV32 0x1013
#define LIBXSMM_RV64_INSTR_GP_SLLI_UW 0x800101b
#define LIBXSMM_RV64_INSTR_GP_SLLID 0x105b
#define LIBXSMM_RV64_INSTR_GP_SLLIW 0x101b
#define LIBXSMM_RV64_INSTR_GP_SLLW 0x103b
#define LIBXSMM_RV64_INSTR_GP_SLO 0x20001033
#define LIBXSMM_RV64_INSTR_GP_SLOI 0x20001013
#define LIBXSMM_RV64_INSTR_GP_SLOIW 0x2000101b
#define LIBXSMM_RV64_INSTR_GP_SLOW 0x2000103b
#define LIBXSMM_RV64_INSTR_GP_SLT 0x2033
#define LIBXSMM_RV64_INSTR_GP_SLTI 0x2013
#define LIBXSMM_RV64_INSTR_GP_SLTIU 0x3013
#define LIBXSMM_RV64_INSTR_GP_SLTU 0x3033
#define LIBXSMM_RV64_INSTR_GP_SM3P0 0x10801013
#define LIBXSMM_RV64_INSTR_GP_SM3P1 0x10901013
#define LIBXSMM_RV64_INSTR_GP_SM4ED 0x30000033
#define LIBXSMM_RV64_INSTR_GP_SM4KS 0x34000033
#define LIBXSMM_RV64_INSTR_GP_SMAL 0x5e001077
#define LIBXSMM_RV64_INSTR_GP_SMALBB 0x88001077
#define LIBXSMM_RV64_INSTR_GP_SMALBT 0x98001077
#define LIBXSMM_RV64_INSTR_GP_SMALDA 0x8c001077
#define LIBXSMM_RV64_INSTR_GP_SMALDRS 0x9a001077
#define LIBXSMM_RV64_INSTR_GP_SMALDS 0x8a001077
#define LIBXSMM_RV64_INSTR_GP_SMALTT 0xa8001077
#define LIBXSMM_RV64_INSTR_GP_SMALXDA 0x9c001077
#define LIBXSMM_RV64_INSTR_GP_SMALXDS 0xaa001077
#define LIBXSMM_RV64_INSTR_GP_SMAQA 0xc8000077
#define LIBXSMM_RV64_INSTR_GP_SMAQA_SU 0xca000077
#define LIBXSMM_RV64_INSTR_GP_SMAR64 0x84001077
#define LIBXSMM_RV64_INSTR_GP_SMAX16 0x82000077
#define LIBXSMM_RV64_INSTR_GP_SMAX32 0x92002077
#define LIBXSMM_RV64_INSTR_GP_SMAX8 0x8a000077
#define LIBXSMM_RV64_INSTR_GP_SMBB16 0x8001077
#define LIBXSMM_RV64_INSTR_GP_SMBT16 0x18001077
#define LIBXSMM_RV64_INSTR_GP_SMBT32 0x18002077
#define LIBXSMM_RV64_INSTR_GP_SMDRS 0x68001077
#define LIBXSMM_RV64_INSTR_GP_SMDRS32 0x68002077
#define LIBXSMM_RV64_INSTR_GP_SMDS 0x58001077
#define LIBXSMM_RV64_INSTR_GP_SMDS32 0x58002077
#define LIBXSMM_RV64_INSTR_GP_SMIN16 0x80000077
#define LIBXSMM_RV64_INSTR_GP_SMIN32 0x90002077
#define LIBXSMM_RV64_INSTR_GP_SMIN8 0x88000077
#define LIBXSMM_RV64_INSTR_GP_SMMUL 0x40001077
#define LIBXSMM_RV64_INSTR_GP_SMMUL_U 0x50001077
#define LIBXSMM_RV64_INSTR_GP_SMMWB 0x44001077
#define LIBXSMM_RV64_INSTR_GP_SMMWB_U 0x54001077
#define LIBXSMM_RV64_INSTR_GP_SMMWT 0x64001077
#define LIBXSMM_RV64_INSTR_GP_SMMWT_U 0x74001077
#define LIBXSMM_RV64_INSTR_GP_SMSLDA 0xac001077
#define LIBXSMM_RV64_INSTR_GP_SMSLXDA 0xbc001077
#define LIBXSMM_RV64_INSTR_GP_SMSR64 0x86001077
#define LIBXSMM_RV64_INSTR_GP_SMTT16 0x28001077
#define LIBXSMM_RV64_INSTR_GP_SMTT32 0x28002077
#define LIBXSMM_RV64_INSTR_GP_SMUL16 0xa0000077
#define LIBXSMM_RV64_INSTR_GP_SMUL8 0xa8000077
#define LIBXSMM_RV64_INSTR_GP_SMULX16 0xa2000077
#define LIBXSMM_RV64_INSTR_GP_SMULX8 0xaa000077
#define LIBXSMM_RV64_INSTR_GP_SMXDS 0x78001077
#define LIBXSMM_RV64_INSTR_GP_SMXDS32 0x78002077
#define LIBXSMM_RV64_INSTR_GP_SQ 0x4023
#define LIBXSMM_RV64_INSTR_GP_SRA 0x40005033
#define LIBXSMM_RV64_INSTR_GP_SRA16 0x50000077
#define LIBXSMM_RV64_INSTR_GP_SRA16_U 0x60000077
#define LIBXSMM_RV64_INSTR_GP_SRA32 0x50002077
#define LIBXSMM_RV64_INSTR_GP_SRA32_U 0x60002077
#define LIBXSMM_RV64_INSTR_GP_SRA8 0x58000077
#define LIBXSMM_RV64_INSTR_GP_SRA8_U 0x68000077
#define LIBXSMM_RV64_INSTR_GP_SRA_U 0x24001077
#define LIBXSMM_RV64_INSTR_GP_SRAD 0x4000507b
#define LIBXSMM_RV64_INSTR_GP_SRAI 0x40005013
#define LIBXSMM_RV64_INSTR_GP_SRAI16 0x70000077
#define LIBXSMM_RV64_INSTR_GP_SRAI16_U 0x71000077
#define LIBXSMM_RV64_INSTR_GP_SRAI32 0x70002077
#define LIBXSMM_RV64_INSTR_GP_SRAI32_U 0x80002077
#define LIBXSMM_RV64_INSTR_GP_SRAI8 0x78000077
#define LIBXSMM_RV64_INSTR_GP_SRAI8_U 0x78800077
#define LIBXSMM_RV64_INSTR_GP_SRAI_RV128 0x40005013
#define LIBXSMM_RV64_INSTR_GP_SRAI_RV32 0x40005013
#define LIBXSMM_RV64_INSTR_GP_SRAI_U 0xd4001077
#define LIBXSMM_RV64_INSTR_GP_SRAID 0x4000505b
#define LIBXSMM_RV64_INSTR_GP_SRAIW 0x4000501b
#define LIBXSMM_RV64_INSTR_GP_SRAIW_U 0x34001077
#define LIBXSMM_RV64_INSTR_GP_SRAW 0x4000503b
#define LIBXSMM_RV64_INSTR_GP_SRET 0x10200073
#define LIBXSMM_RV64_INSTR_GP_SRL 0x5033
#define LIBXSMM_RV64_INSTR_GP_SRL16 0x52000077
#define LIBXSMM_RV64_INSTR_GP_SRL16_U 0x62000077
#define LIBXSMM_RV64_INSTR_GP_SRL32 0x52002077
#define LIBXSMM_RV64_INSTR_GP_SRL32_U 0x62002077
#define LIBXSMM_RV64_INSTR_GP_SRL8 0x5a000077
#define LIBXSMM_RV64_INSTR_GP_SRL8_U 0x6a000077
#define LIBXSMM_RV64_INSTR_GP_SRLD 0x507b
#define LIBXSMM_RV64_INSTR_GP_SRLI 0x5013
#define LIBXSMM_RV64_INSTR_GP_SRLI16 0x72000077
#define LIBXSMM_RV64_INSTR_GP_SRLI16_U 0x73000077
#define LIBXSMM_RV64_INSTR_GP_SRLI32 0x72002077
#define LIBXSMM_RV64_INSTR_GP_SRLI32_U 0x82002077
#define LIBXSMM_RV64_INSTR_GP_SRLI8 0x7a000077
#define LIBXSMM_RV64_INSTR_GP_SRLI8_U 0x7a800077
#define LIBXSMM_RV64_INSTR_GP_SRLI_RV128 0x5013
#define LIBXSMM_RV64_INSTR_GP_SRLI_RV32 0x5013
#define LIBXSMM_RV64_INSTR_GP_SRLID 0x505b
#define LIBXSMM_RV64_INSTR_GP_SRLIW 0x501b
#define LIBXSMM_RV64_INSTR_GP_SRLW 0x503b
#define LIBXSMM_RV64_INSTR_GP_SRO 0x20005033
#define LIBXSMM_RV64_INSTR_GP_SROI 0x20005013
#define LIBXSMM_RV64_INSTR_GP_SROIW 0x2000501b
#define LIBXSMM_RV64_INSTR_GP_SROW 0x2000503b
#define LIBXSMM_RV64_INSTR_GP_STAS16 0xf4002077
#define LIBXSMM_RV64_INSTR_GP_STAS32 0xf0002077
#define LIBXSMM_RV64_INSTR_GP_STSA16 0xf6002077
#define LIBXSMM_RV64_INSTR_GP_STSA32 0xf2002077
#define LIBXSMM_RV64_INSTR_GP_SUB 0x40000033
#define LIBXSMM_RV64_INSTR_GP_SUB16 0x42000077
#define LIBXSMM_RV64_INSTR_GP_SUB32 0x42002077
#define LIBXSMM_RV64_INSTR_GP_SUB64 0xc2001077
#define LIBXSMM_RV64_INSTR_GP_SUB8 0x4a000077
#define LIBXSMM_RV64_INSTR_GP_SUBD 0x4000007b
#define LIBXSMM_RV64_INSTR_GP_SUBW 0x4000003b
#define LIBXSMM_RV64_INSTR_GP_SUNPKD810 0xac800077
#define LIBXSMM_RV64_INSTR_GP_SUNPKD820 0xac900077
#define LIBXSMM_RV64_INSTR_GP_SUNPKD830 0xaca00077
#define LIBXSMM_RV64_INSTR_GP_SUNPKD831 0xacb00077
#define LIBXSMM_RV64_INSTR_GP_SUNPKD832 0xad300077
#define LIBXSMM_RV64_INSTR_GP_SW 0x2023
#define LIBXSMM_RV64_INSTR_GP_UCLIP16 0x85000077
#define LIBXSMM_RV64_INSTR_GP_UCLIP32 0xf4000077
#define LIBXSMM_RV64_INSTR_GP_UCLIP8 0x8d000077
#define LIBXSMM_RV64_INSTR_GP_UCMPLE16 0x3c000077
#define LIBXSMM_RV64_INSTR_GP_UCMPLE8 0x3e000077
#define LIBXSMM_RV64_INSTR_GP_UCMPLT16 0x2c000077
#define LIBXSMM_RV64_INSTR_GP_UCMPLT8 0x2e000077
#define LIBXSMM_RV64_INSTR_GP_UKADD16 0x30000077
#define LIBXSMM_RV64_INSTR_GP_UKADD32 0x30002077
#define LIBXSMM_RV64_INSTR_GP_UKADD64 0xb0001077
#define LIBXSMM_RV64_INSTR_GP_UKADD8 0x38000077
#define LIBXSMM_RV64_INSTR_GP_UKADDH 0x14001077
#define LIBXSMM_RV64_INSTR_GP_UKADDW 0x10001077
#define LIBXSMM_RV64_INSTR_GP_UKCRAS16 0x34000077
#define LIBXSMM_RV64_INSTR_GP_UKCRAS32 0x34002077
#define LIBXSMM_RV64_INSTR_GP_UKCRSA16 0x36000077
#define LIBXSMM_RV64_INSTR_GP_UKCRSA32 0x36002077
#define LIBXSMM_RV64_INSTR_GP_UKMAR64 0xb4001077
#define LIBXSMM_RV64_INSTR_GP_UKMSR64 0xb6001077
#define LIBXSMM_RV64_INSTR_GP_UKSTAS16 0xe4002077
#define LIBXSMM_RV64_INSTR_GP_UKSTAS32 0xe0002077
#define LIBXSMM_RV64_INSTR_GP_UKSTSA16 0xe6002077
#define LIBXSMM_RV64_INSTR_GP_UKSTSA32 0xe2002077
#define LIBXSMM_RV64_INSTR_GP_UKSUB16 0x32000077
#define LIBXSMM_RV64_INSTR_GP_UKSUB32 0x32002077
#define LIBXSMM_RV64_INSTR_GP_UKSUB64 0xb2001077
#define LIBXSMM_RV64_INSTR_GP_UKSUB8 0x3a000077
#define LIBXSMM_RV64_INSTR_GP_UKSUBH 0x16001077
#define LIBXSMM_RV64_INSTR_GP_UKSUBW 0x12001077
#define LIBXSMM_RV64_INSTR_GP_UMAQA 0xcc000077
#define LIBXSMM_RV64_INSTR_GP_UMAR64 0xa4001077
#define LIBXSMM_RV64_INSTR_GP_UMAX16 0x92000077
#define LIBXSMM_RV64_INSTR_GP_UMAX32 0xa2002077
#define LIBXSMM_RV64_INSTR_GP_UMAX8 0x9a000077
#define LIBXSMM_RV64_INSTR_GP_UMIN16 0x90000077
#define LIBXSMM_RV64_INSTR_GP_UMIN32 0xa0002077
#define LIBXSMM_RV64_INSTR_GP_UMIN8 0x98000077
#define LIBXSMM_RV64_INSTR_GP_UMSR64 0xa6001077
#define LIBXSMM_RV64_INSTR_GP_UMUL16 0xb0000077
#define LIBXSMM_RV64_INSTR_GP_UMUL8 0xb8000077
#define LIBXSMM_RV64_INSTR_GP_UMULX16 0xb2000077
#define LIBXSMM_RV64_INSTR_GP_UMULX8 0xba000077
#define LIBXSMM_RV64_INSTR_GP_UNSHFL 0x8005033
#define LIBXSMM_RV64_INSTR_GP_UNSHFLI 0x8005013
#define LIBXSMM_RV64_INSTR_GP_UNSHFLW 0x800503b
#define LIBXSMM_RV64_INSTR_GP_URADD16 0x20000077
#define LIBXSMM_RV64_INSTR_GP_URADD32 0x20002077
#define LIBXSMM_RV64_INSTR_GP_URADD64 0xa0001077
#define LIBXSMM_RV64_INSTR_GP_URADD8 0x28000077
#define LIBXSMM_RV64_INSTR_GP_URADDW 0x30001077
#define LIBXSMM_RV64_INSTR_GP_URCRAS16 0x24000077
#define LIBXSMM_RV64_INSTR_GP_URCRAS32 0x24002077
#define LIBXSMM_RV64_INSTR_GP_URCRSA16 0x26000077
#define LIBXSMM_RV64_INSTR_GP_URCRSA32 0x26002077
#define LIBXSMM_RV64_INSTR_GP_URSTAS16 0xd4002077
#define LIBXSMM_RV64_INSTR_GP_URSTAS32 0xd0002077
#define LIBXSMM_RV64_INSTR_GP_URSTSA16 0xd6002077
#define LIBXSMM_RV64_INSTR_GP_URSTSA32 0xd2002077
#define LIBXSMM_RV64_INSTR_GP_URSUB16 0x22000077
#define LIBXSMM_RV64_INSTR_GP_URSUB32 0x22002077
#define LIBXSMM_RV64_INSTR_GP_URSUB64 0xa2001077
#define LIBXSMM_RV64_INSTR_GP_URSUB8 0x2a000077
#define LIBXSMM_RV64_INSTR_GP_URSUBW 0x32001077
#define LIBXSMM_RV64_INSTR_RVV_VAADD_VV 0x24002057
#define LIBXSMM_RV64_INSTR_RVV_VAADD_VX 0x24006057
#define LIBXSMM_RV64_INSTR_RVV_VAADDU_VV 0x20002057
#define LIBXSMM_RV64_INSTR_RVV_VAADDU_VX 0x20006057
#define LIBXSMM_RV64_INSTR_RVV_VADC_VIM 0x40003057
#define LIBXSMM_RV64_INSTR_RVV_VADC_VVM 0x40000057
#define LIBXSMM_RV64_INSTR_RVV_VADC_VXM 0x40004057
#define LIBXSMM_RV64_INSTR_RVV_VADD_VI 0x3057
#define LIBXSMM_RV64_INSTR_RVV_VADD_VV 0x57
#define LIBXSMM_RV64_INSTR_RVV_VADD_VX 0x4057
#define LIBXSMM_RV64_INSTR_RVV_VAMOADDEI16_V 0x502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOADDEI32_V 0x602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOADDEI64_V 0x702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOADDEI8_V 0x2f
#define LIBXSMM_RV64_INSTR_RVV_VAMOANDEI16_V 0x6000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOANDEI32_V 0x6000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOANDEI64_V 0x6000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOANDEI8_V 0x6000002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXEI16_V 0xa000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXEI32_V 0xa000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXEI64_V 0xa000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXEI8_V 0xa000002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXUEI16_V 0xe000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXUEI32_V 0xe000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXUEI64_V 0xe000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMAXUEI8_V 0xe000002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINEI16_V 0x8000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINEI32_V 0x8000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINEI64_V 0x8000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINEI8_V 0x8000002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINUEI16_V 0xc000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINUEI32_V 0xc000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINUEI64_V 0xc000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOMINUEI8_V 0xc000002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOOREI16_V 0x4000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOOREI32_V 0x4000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOOREI64_V 0x4000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOOREI8_V 0x4000002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOSWAPEI16_V 0x800502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOSWAPEI32_V 0x800602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOSWAPEI64_V 0x800702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOSWAPEI8_V 0x800002f
#define LIBXSMM_RV64_INSTR_RVV_VAMOXOREI16_V 0x2000502f
#define LIBXSMM_RV64_INSTR_RVV_VAMOXOREI32_V 0x2000602f
#define LIBXSMM_RV64_INSTR_RVV_VAMOXOREI64_V 0x2000702f
#define LIBXSMM_RV64_INSTR_RVV_VAMOXOREI8_V 0x2000002f
#define LIBXSMM_RV64_INSTR_RVV_VAND_VI 0x24003057
#define LIBXSMM_RV64_INSTR_RVV_VAND_VV 0x24000057
#define LIBXSMM_RV64_INSTR_RVV_VAND_VX 0x24004057
#define LIBXSMM_RV64_INSTR_RVV_VASUB_VV 0x2c002057
#define LIBXSMM_RV64_INSTR_RVV_VASUB_VX 0x2c006057
#define LIBXSMM_RV64_INSTR_RVV_VASUBU_VV 0x28002057
#define LIBXSMM_RV64_INSTR_RVV_VASUBU_VX 0x28006057
#define LIBXSMM_RV64_INSTR_RVV_VCOMPRESS_VM 0x5e002057
#define LIBXSMM_RV64_INSTR_RVV_VCPOP_M 0x40082057
#define LIBXSMM_RV64_INSTR_RVV_VDIV_VV 0x84002057
#define LIBXSMM_RV64_INSTR_RVV_VDIV_VX 0x84006057
#define LIBXSMM_RV64_INSTR_RVV_VDIVU_VV 0x80002057
#define LIBXSMM_RV64_INSTR_RVV_VDIVU_VX 0x80006057
#define LIBXSMM_RV64_INSTR_RVV_VFADD_VF 0x5057
#define LIBXSMM_RV64_INSTR_RVV_VFADD_VV 0x1057
#define LIBXSMM_RV64_INSTR_RVV_VFCLASS_V 0x4c081057
#define LIBXSMM_RV64_INSTR_RVV_VFCVT_F_X_V 0x48019057
#define LIBXSMM_RV64_INSTR_RVV_VFCVT_F_XU_V 0x48011057
#define LIBXSMM_RV64_INSTR_RVV_VFCVT_RTZ_X_F_V 0x48039057
#define LIBXSMM_RV64_INSTR_RVV_VFCVT_RTZ_XU_F_V 0x48031057
#define LIBXSMM_RV64_INSTR_RVV_VFCVT_X_F_V 0x48009057
#define LIBXSMM_RV64_INSTR_RVV_VFCVT_XU_F_V 0x48001057
#define LIBXSMM_RV64_INSTR_RVV_VFDIV_VF 0x80005057
#define LIBXSMM_RV64_INSTR_RVV_VFDIV_VV 0x80001057
#define LIBXSMM_RV64_INSTR_RVV_VFIRST_M 0x4008a057
#define LIBXSMM_RV64_INSTR_RVV_VFMACC_VF 0xb0005057
#define LIBXSMM_RV64_INSTR_RVV_VFMACC_VV 0xb0001057
#define LIBXSMM_RV64_INSTR_RVV_VFMADD_VF 0xa0005057
#define LIBXSMM_RV64_INSTR_RVV_VFMADD_VV 0xa0001057
#define LIBXSMM_RV64_INSTR_RVV_VFMAX_VF 0x18005057
#define LIBXSMM_RV64_INSTR_RVV_VFMAX_VV 0x18001057
#define LIBXSMM_RV64_INSTR_RVV_VFMERGE_VFM 0x5c005057
#define LIBXSMM_RV64_INSTR_RVV_VFMIN_VF 0x10005057
#define LIBXSMM_RV64_INSTR_RVV_VFMIN_VV 0x10001057
#define LIBXSMM_RV64_INSTR_RVV_VFMSAC_VF 0xb8005057
#define LIBXSMM_RV64_INSTR_RVV_VFMSAC_VV 0xb8001057
#define LIBXSMM_RV64_INSTR_RVV_VFMSUB_VF 0xa8005057
#define LIBXSMM_RV64_INSTR_RVV_VFMSUB_VV 0xa8001057
#define LIBXSMM_RV64_INSTR_RVV_VFMUL_VF 0x90005057
#define LIBXSMM_RV64_INSTR_RVV_VFMUL_VV 0x90001057
#define LIBXSMM_RV64_INSTR_RVV_VFMV_F_S 0x42001057
#define LIBXSMM_RV64_INSTR_RVV_VFMV_S_F 0x42005057
#define LIBXSMM_RV64_INSTR_RVV_VFMV_V_F 0x5e005057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_F_F_W 0x480a1057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_F_X_W 0x48099057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_F_XU_W 0x48091057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_ROD_F_F_W 0x480a9057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_RTZ_X_F_W 0x480b9057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_RTZ_XU_F_W 0x480b1057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_X_F_W 0x48089057
#define LIBXSMM_RV64_INSTR_RVV_VFNCVT_XU_F_W 0x48081057
#define LIBXSMM_RV64_INSTR_RVV_VFNMACC_VF 0xb4005057
#define LIBXSMM_RV64_INSTR_RVV_VFNMACC_VV 0xb4001057
#define LIBXSMM_RV64_INSTR_RVV_VFNMADD_VF 0xa4005057
#define LIBXSMM_RV64_INSTR_RVV_VFNMADD_VV 0xa4001057
#define LIBXSMM_RV64_INSTR_RVV_VFNMSAC_VF 0xbc005057
#define LIBXSMM_RV64_INSTR_RVV_VFNMSAC_VV 0xbc001057
#define LIBXSMM_RV64_INSTR_RVV_VFNMSUB_VF 0xac005057
#define LIBXSMM_RV64_INSTR_RVV_VFNMSUB_VV 0xac001057
#define LIBXSMM_RV64_INSTR_RVV_VFRDIV_VF 0x84005057
#define LIBXSMM_RV64_INSTR_RVV_VFREC7_V 0x4c029057
#define LIBXSMM_RV64_INSTR_RVV_VFREDMAX_VS 0x1c001057
#define LIBXSMM_RV64_INSTR_RVV_VFREDMIN_VS 0x14001057
#define LIBXSMM_RV64_INSTR_RVV_VFREDOSUM_VS 0xc001057
#define LIBXSMM_RV64_INSTR_RVV_VFREDUSUM_VS 0x4001057
#define LIBXSMM_RV64_INSTR_RVV_VFRSQRT7_V 0x4c021057
#define LIBXSMM_RV64_INSTR_RVV_VFRSUB_VF 0x9c005057
#define LIBXSMM_RV64_INSTR_RVV_VFSGNJ_VF 0x20005057
#define LIBXSMM_RV64_INSTR_RVV_VFSGNJ_VV 0x20001057
#define LIBXSMM_RV64_INSTR_RVV_VFSGNJN_VF 0x24005057
#define LIBXSMM_RV64_INSTR_RVV_VFSGNJN_VV 0x24001057
#define LIBXSMM_RV64_INSTR_RVV_VFSGNJX_VF 0x28005057
#define LIBXSMM_RV64_INSTR_RVV_VFSGNJX_VV 0x28001057
#define LIBXSMM_RV64_INSTR_RVV_VFSLIDE1DOWN_VF 0x3c005057
#define LIBXSMM_RV64_INSTR_RVV_VFSLIDE1UP_VF 0x38005057
#define LIBXSMM_RV64_INSTR_RVV_VFSQRT_V 0x4c001057
#define LIBXSMM_RV64_INSTR_RVV_VFSUB_VF 0x8005057
#define LIBXSMM_RV64_INSTR_RVV_VFSUB_VV 0x8001057
#define LIBXSMM_RV64_INSTR_RVV_VFWADD_VF 0xc0005057
#define LIBXSMM_RV64_INSTR_RVV_VFWADD_VV 0xc0001057
#define LIBXSMM_RV64_INSTR_RVV_VFWADD_WF 0xd0005057
#define LIBXSMM_RV64_INSTR_RVV_VFWADD_WV 0xd0001057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_F_F_V 0x48061057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_F_X_V 0x48059057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_F_XU_V 0x48051057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_RTZ_X_F_V 0x48079057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_RTZ_XU_F_V 0x48071057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_X_F_V 0x48049057
#define LIBXSMM_RV64_INSTR_RVV_VFWCVT_XU_F_V 0x48041057
#define LIBXSMM_RV64_INSTR_RVV_VFWMACC_VF 0xf0005057
#define LIBXSMM_RV64_INSTR_RVV_VFWMACC_VV 0xf0001057
#define LIBXSMM_RV64_INSTR_RVV_VFWMSAC_VF 0xf8005057
#define LIBXSMM_RV64_INSTR_RVV_VFWMSAC_VV 0xf8001057
#define LIBXSMM_RV64_INSTR_RVV_VFWMUL_VF 0xe0005057
#define LIBXSMM_RV64_INSTR_RVV_VFWMUL_VV 0xe0001057
#define LIBXSMM_RV64_INSTR_RVV_VFWNMACC_VF 0xf4005057
#define LIBXSMM_RV64_INSTR_RVV_VFWNMACC_VV 0xf4001057
#define LIBXSMM_RV64_INSTR_RVV_VFWNMSAC_VF 0xfc005057
#define LIBXSMM_RV64_INSTR_RVV_VFWNMSAC_VV 0xfc001057
#define LIBXSMM_RV64_INSTR_RVV_VFWREDOSUM_VS 0xcc001057
#define LIBXSMM_RV64_INSTR_RVV_VFWREDUSUM_VS 0xc4001057
#define LIBXSMM_RV64_INSTR_RVV_VFWSUB_VF 0xc8005057
#define LIBXSMM_RV64_INSTR_RVV_VFWSUB_VV 0xc8001057
#define LIBXSMM_RV64_INSTR_RVV_VFWSUB_WF 0xd8005057
#define LIBXSMM_RV64_INSTR_RVV_VFWSUB_WV 0xd8001057
#define LIBXSMM_RV64_INSTR_RVV_VID_V 0x5008a057
#define LIBXSMM_RV64_INSTR_RVV_VIOTA_M 0x50082057
#define LIBXSMM_RV64_INSTR_RVV_VL1RE16_V 0x2805007
#define LIBXSMM_RV64_INSTR_RVV_VL1RE32_V 0x2806007
#define LIBXSMM_RV64_INSTR_RVV_VL1RE64_V 0x2807007
#define LIBXSMM_RV64_INSTR_RVV_VL1RE8_V 0x2800007
#define LIBXSMM_RV64_INSTR_RVV_VL2RE16_V 0x22805007
#define LIBXSMM_RV64_INSTR_RVV_VL2RE32_V 0x22806007
#define LIBXSMM_RV64_INSTR_RVV_VL2RE64_V 0x22807007
#define LIBXSMM_RV64_INSTR_RVV_VL2RE8_V 0x22800007
#define LIBXSMM_RV64_INSTR_RVV_VL4RE16_V 0x62805007
#define LIBXSMM_RV64_INSTR_RVV_VL4RE32_V 0x62806007
#define LIBXSMM_RV64_INSTR_RVV_VL4RE64_V 0x62807007
#define LIBXSMM_RV64_INSTR_RVV_VL4RE8_V 0x62800007
#define LIBXSMM_RV64_INSTR_RVV_VL8RE16_V 0xe2805007
#define LIBXSMM_RV64_INSTR_RVV_VL8RE32_V 0xe2806007
#define LIBXSMM_RV64_INSTR_RVV_VL8RE64_V 0xe2807007
#define LIBXSMM_RV64_INSTR_RVV_VL8RE8_V 0xe2800007
#define LIBXSMM_RV64_INSTR_RVV_VLE1024_V 0x10007007
#define LIBXSMM_RV64_INSTR_RVV_VLE1024FF_V 0x11007007
#define LIBXSMM_RV64_INSTR_RVV_VLE128_V 0x10000007
#define LIBXSMM_RV64_INSTR_RVV_VLE128FF_V 0x11000007
#define LIBXSMM_RV64_INSTR_RVV_VLE16_V 0x5007
#define LIBXSMM_RV64_INSTR_RVV_VLE16FF_V 0x1005007
#define LIBXSMM_RV64_INSTR_RVV_VLE256_V 0x10005007
#define LIBXSMM_RV64_INSTR_RVV_VLE256FF_V 0x11005007
#define LIBXSMM_RV64_INSTR_RVV_VLE32_V 0x6007
#define LIBXSMM_RV64_INSTR_RVV_VLE32FF_V 0x1006007
#define LIBXSMM_RV64_INSTR_RVV_VLE512_V 0x10006007
#define LIBXSMM_RV64_INSTR_RVV_VLE512FF_V 0x11006007
#define LIBXSMM_RV64_INSTR_RVV_VLE64_V 0x7007
#define LIBXSMM_RV64_INSTR_RVV_VLE64FF_V 0x1007007
#define LIBXSMM_RV64_INSTR_RVV_VLE8_V 0x7
#define LIBXSMM_RV64_INSTR_RVV_VLE8FF_V 0x1000007
#define LIBXSMM_RV64_INSTR_RVV_VLM_V 0x2b00007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI1024_V 0x1c007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI128_V 0x1c000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI16_V 0xc005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI256_V 0x1c005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI32_V 0xc006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI512_V 0x1c006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI64_V 0xc007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXEI8_V 0xc000007
#define LIBXSMM_RV64_INSTR_RVV_VLSE1024_V 0x18007007
#define LIBXSMM_RV64_INSTR_RVV_VLSE128_V 0x18000007
#define LIBXSMM_RV64_INSTR_RVV_VLSE16_V 0x8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSE256_V 0x18005007
#define LIBXSMM_RV64_INSTR_RVV_VLSE32_V 0x8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSE512_V 0x18006007
#define LIBXSMM_RV64_INSTR_RVV_VLSE64_V 0x8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSE8_V 0x8000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI1024_V 0x14007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI128_V 0x14000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI16_V 0x4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI256_V 0x14005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI32_V 0x4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI512_V 0x14006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI64_V 0x4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXEI8_V 0x4000007
#define LIBXSMM_RV64_INSTR_RVV_VMACC_VV 0xb4002057
#define LIBXSMM_RV64_INSTR_RVV_VMACC_VX 0xb4006057
#define LIBXSMM_RV64_INSTR_RVV_VMADC_VI 0x46003057
#define LIBXSMM_RV64_INSTR_RVV_VMADC_VIM 0x44003057
#define LIBXSMM_RV64_INSTR_RVV_VMADC_VV 0x46000057
#define LIBXSMM_RV64_INSTR_RVV_VMADC_VVM 0x44000057
#define LIBXSMM_RV64_INSTR_RVV_VMADC_VX 0x46004057
#define LIBXSMM_RV64_INSTR_RVV_VMADC_VXM 0x44004057
#define LIBXSMM_RV64_INSTR_RVV_VMADD_VV 0xa4002057
#define LIBXSMM_RV64_INSTR_RVV_VMADD_VX 0xa4006057
#define LIBXSMM_RV64_INSTR_RVV_VMAND_MM 0x64002057
#define LIBXSMM_RV64_INSTR_RVV_VMANDN_MM 0x60002057
#define LIBXSMM_RV64_INSTR_RVV_VMAX_VV 0x1c000057
#define LIBXSMM_RV64_INSTR_RVV_VMAX_VX 0x1c004057
#define LIBXSMM_RV64_INSTR_RVV_VMAXU_VV 0x18000057
#define LIBXSMM_RV64_INSTR_RVV_VMAXU_VX 0x18004057
#define LIBXSMM_RV64_INSTR_RVV_VMERGE_VIM 0x5c003057
#define LIBXSMM_RV64_INSTR_RVV_VMERGE_VVM 0x5c000057
#define LIBXSMM_RV64_INSTR_RVV_VMERGE_VXM 0x5c004057
#define LIBXSMM_RV64_INSTR_RVV_VMFEQ_VF 0x60005057
#define LIBXSMM_RV64_INSTR_RVV_VMFEQ_VV 0x60001057
#define LIBXSMM_RV64_INSTR_RVV_VMFGE_VF 0x7c005057
#define LIBXSMM_RV64_INSTR_RVV_VMFGT_VF 0x74005057
#define LIBXSMM_RV64_INSTR_RVV_VMFLE_VF 0x64005057
#define LIBXSMM_RV64_INSTR_RVV_VMFLE_VV 0x64001057
#define LIBXSMM_RV64_INSTR_RVV_VMFLT_VF 0x6c005057
#define LIBXSMM_RV64_INSTR_RVV_VMFLT_VV 0x6c001057
#define LIBXSMM_RV64_INSTR_RVV_VMFNE_VF 0x70005057
#define LIBXSMM_RV64_INSTR_RVV_VMFNE_VV 0x70001057
#define LIBXSMM_RV64_INSTR_RVV_VMIN_VV 0x14000057
#define LIBXSMM_RV64_INSTR_RVV_VMIN_VX 0x14004057
#define LIBXSMM_RV64_INSTR_RVV_VMINU_VV 0x10000057
#define LIBXSMM_RV64_INSTR_RVV_VMINU_VX 0x10004057
#define LIBXSMM_RV64_INSTR_RVV_VMNAND_MM 0x74002057
#define LIBXSMM_RV64_INSTR_RVV_VMNOR_MM 0x78002057
#define LIBXSMM_RV64_INSTR_RVV_VMOR_MM 0x68002057
#define LIBXSMM_RV64_INSTR_RVV_VMORN_MM 0x70002057
#define LIBXSMM_RV64_INSTR_RVV_VMSBC_VV 0x4e000057
#define LIBXSMM_RV64_INSTR_RVV_VMSBC_VVM 0x4c000057
#define LIBXSMM_RV64_INSTR_RVV_VMSBC_VX 0x4e004057
#define LIBXSMM_RV64_INSTR_RVV_VMSBC_VXM 0x4c004057
#define LIBXSMM_RV64_INSTR_RVV_VMSBF_M 0x5000a057
#define LIBXSMM_RV64_INSTR_RVV_VMSEQ_VI 0x60003057
#define LIBXSMM_RV64_INSTR_RVV_VMSEQ_VV 0x60000057
#define LIBXSMM_RV64_INSTR_RVV_VMSEQ_VX 0x60004057
#define LIBXSMM_RV64_INSTR_RVV_VMSGT_VI 0x7c003057
#define LIBXSMM_RV64_INSTR_RVV_VMSGT_VX 0x7c004057
#define LIBXSMM_RV64_INSTR_RVV_VMSGTU_VI 0x78003057
#define LIBXSMM_RV64_INSTR_RVV_VMSGTU_VX 0x78004057
#define LIBXSMM_RV64_INSTR_RVV_VMSIF_M 0x5001a057
#define LIBXSMM_RV64_INSTR_RVV_VMSLE_VI 0x74003057
#define LIBXSMM_RV64_INSTR_RVV_VMSLE_VV 0x74000057
#define LIBXSMM_RV64_INSTR_RVV_VMSLE_VX 0x74004057
#define LIBXSMM_RV64_INSTR_RVV_VMSLEU_VI 0x70003057
#define LIBXSMM_RV64_INSTR_RVV_VMSLEU_VV 0x70000057
#define LIBXSMM_RV64_INSTR_RVV_VMSLEU_VX 0x70004057
#define LIBXSMM_RV64_INSTR_RVV_VMSLT_VV 0x6c000057
#define LIBXSMM_RV64_INSTR_RVV_VMSLT_VX 0x6c004057
#define LIBXSMM_RV64_INSTR_RVV_VMSLTU_VV 0x68000057
#define LIBXSMM_RV64_INSTR_RVV_VMSLTU_VX 0x68004057
#define LIBXSMM_RV64_INSTR_RVV_VMSNE_VI 0x64003057
#define LIBXSMM_RV64_INSTR_RVV_VMSNE_VV 0x64000057
#define LIBXSMM_RV64_INSTR_RVV_VMSNE_VX 0x64004057
#define LIBXSMM_RV64_INSTR_RVV_VMSOF_M 0x50012057
#define LIBXSMM_RV64_INSTR_RVV_VMUL_VV 0x94002057
#define LIBXSMM_RV64_INSTR_RVV_VMUL_VX 0x94006057
#define LIBXSMM_RV64_INSTR_RVV_VMULH_VV 0x9c002057
#define LIBXSMM_RV64_INSTR_RVV_VMULH_VX 0x9c006057
#define LIBXSMM_RV64_INSTR_RVV_VMULHSU_VV 0x98002057
#define LIBXSMM_RV64_INSTR_RVV_VMULHSU_VX 0x98006057
#define LIBXSMM_RV64_INSTR_RVV_VMULHU_VV 0x90002057
#define LIBXSMM_RV64_INSTR_RVV_VMULHU_VX 0x90006057
#define LIBXSMM_RV64_INSTR_RVV_VMV1R_V 0x9e003057
#define LIBXSMM_RV64_INSTR_RVV_VMV2R_V 0x9e00b057
#define LIBXSMM_RV64_INSTR_RVV_VMV4R_V 0x9e01b057
#define LIBXSMM_RV64_INSTR_RVV_VMV8R_V 0x9e03b057
#define LIBXSMM_RV64_INSTR_RVV_VMV_S_X 0x42006057
#define LIBXSMM_RV64_INSTR_RVV_VMV_V_I 0x5e003057
#define LIBXSMM_RV64_INSTR_RVV_VMV_V_V 0x5e000057
#define LIBXSMM_RV64_INSTR_RVV_VMV_V_X 0x5e004057
#define LIBXSMM_RV64_INSTR_RVV_VMV_X_S 0x42002057
#define LIBXSMM_RV64_INSTR_RVV_VMXNOR_MM 0x7c002057
#define LIBXSMM_RV64_INSTR_RVV_VMXOR_MM 0x6c002057
#define LIBXSMM_RV64_INSTR_RVV_VNCLIP_WI 0xbc003057
#define LIBXSMM_RV64_INSTR_RVV_VNCLIP_WV 0xbc000057
#define LIBXSMM_RV64_INSTR_RVV_VNCLIP_WX 0xbc004057
#define LIBXSMM_RV64_INSTR_RVV_VNCLIPU_WI 0xb8003057
#define LIBXSMM_RV64_INSTR_RVV_VNCLIPU_WV 0xb8000057
#define LIBXSMM_RV64_INSTR_RVV_VNCLIPU_WX 0xb8004057
#define LIBXSMM_RV64_INSTR_RVV_VNMSAC_VV 0xbc002057
#define LIBXSMM_RV64_INSTR_RVV_VNMSAC_VX 0xbc006057
#define LIBXSMM_RV64_INSTR_RVV_VNMSUB_VV 0xac002057
#define LIBXSMM_RV64_INSTR_RVV_VNMSUB_VX 0xac006057
#define LIBXSMM_RV64_INSTR_RVV_VNSRA_WI 0xb4003057
#define LIBXSMM_RV64_INSTR_RVV_VNSRA_WV 0xb4000057
#define LIBXSMM_RV64_INSTR_RVV_VNSRA_WX 0xb4004057
#define LIBXSMM_RV64_INSTR_RVV_VNSRL_WI 0xb0003057
#define LIBXSMM_RV64_INSTR_RVV_VNSRL_WV 0xb0000057
#define LIBXSMM_RV64_INSTR_RVV_VNSRL_WX 0xb0004057
#define LIBXSMM_RV64_INSTR_RVV_VOR_VI 0x28003057
#define LIBXSMM_RV64_INSTR_RVV_VOR_VV 0x28000057
#define LIBXSMM_RV64_INSTR_RVV_VOR_VX 0x28004057
#define LIBXSMM_RV64_INSTR_RVV_VREDAND_VS 0x4002057
#define LIBXSMM_RV64_INSTR_RVV_VREDMAX_VS 0x1c002057
#define LIBXSMM_RV64_INSTR_RVV_VREDMAXU_VS 0x18002057
#define LIBXSMM_RV64_INSTR_RVV_VREDMIN_VS 0x14002057
#define LIBXSMM_RV64_INSTR_RVV_VREDMINU_VS 0x10002057
#define LIBXSMM_RV64_INSTR_RVV_VREDOR_VS 0x8002057
#define LIBXSMM_RV64_INSTR_RVV_VREDSUM_VS 0x2057
#define LIBXSMM_RV64_INSTR_RVV_VREDXOR_VS 0xc002057
#define LIBXSMM_RV64_INSTR_RVV_VREM_VV 0x8c002057
#define LIBXSMM_RV64_INSTR_RVV_VREM_VX 0x8c006057
#define LIBXSMM_RV64_INSTR_RVV_VREMU_VV 0x88002057
#define LIBXSMM_RV64_INSTR_RVV_VREMU_VX 0x88006057
#define LIBXSMM_RV64_INSTR_RVV_VRGATHER_VI 0x30003057
#define LIBXSMM_RV64_INSTR_RVV_VRGATHER_VV 0x30000057
#define LIBXSMM_RV64_INSTR_RVV_VRGATHER_VX 0x30004057
#define LIBXSMM_RV64_INSTR_RVV_VRGATHEREI16_VV 0x38000057
#define LIBXSMM_RV64_INSTR_RVV_VRSUB_VI 0xc003057
#define LIBXSMM_RV64_INSTR_RVV_VRSUB_VX 0xc004057
#define LIBXSMM_RV64_INSTR_RVV_VS1R_V 0x2800027
#define LIBXSMM_RV64_INSTR_RVV_VS2R_V 0x22800027
#define LIBXSMM_RV64_INSTR_RVV_VS4R_V 0x62800027
#define LIBXSMM_RV64_INSTR_RVV_VS8R_V 0xe2800027
#define LIBXSMM_RV64_INSTR_RVV_VSADD_VI 0x84003057
#define LIBXSMM_RV64_INSTR_RVV_VSADD_VV 0x84000057
#define LIBXSMM_RV64_INSTR_RVV_VSADD_VX 0x84004057
#define LIBXSMM_RV64_INSTR_RVV_VSADDU_VI 0x80003057
#define LIBXSMM_RV64_INSTR_RVV_VSADDU_VV 0x80000057
#define LIBXSMM_RV64_INSTR_RVV_VSADDU_VX 0x80004057
#define LIBXSMM_RV64_INSTR_RVV_VSBC_VVM 0x48000057
#define LIBXSMM_RV64_INSTR_RVV_VSBC_VXM 0x48004057
#define LIBXSMM_RV64_INSTR_RVV_VSE1024_V 0x10007027
#define LIBXSMM_RV64_INSTR_RVV_VSE128_V 0x10000027
#define LIBXSMM_RV64_INSTR_RVV_VSE16_V 0x5027
#define LIBXSMM_RV64_INSTR_RVV_VSE256_V 0x10005027
#define LIBXSMM_RV64_INSTR_RVV_VSE32_V 0x6027
#define LIBXSMM_RV64_INSTR_RVV_VSE512_V 0x10006027
#define LIBXSMM_RV64_INSTR_RVV_VSE64_V 0x7027
#define LIBXSMM_RV64_INSTR_RVV_VSE8_V 0x27
#define LIBXSMM_RV64_INSTR_RVV_VSETIVLI 0xc0007057
#define LIBXSMM_RV64_INSTR_RVV_VSETVL 0x80007057
#define LIBXSMM_RV64_INSTR_RVV_VSETVLI 0x7057
#define LIBXSMM_RV64_INSTR_RVV_VSEXT_VF2 0x4803a057
#define LIBXSMM_RV64_INSTR_RVV_VSEXT_VF4 0x4802a057
#define LIBXSMM_RV64_INSTR_RVV_VSEXT_VF8 0x4801a057
#define LIBXSMM_RV64_INSTR_RVV_VSLIDE1DOWN_VX 0x3c006057
#define LIBXSMM_RV64_INSTR_RVV_VSLIDE1UP_VX 0x38006057
#define LIBXSMM_RV64_INSTR_RVV_VSLIDEDOWN_VI 0x3c003057
#define LIBXSMM_RV64_INSTR_RVV_VSLIDEDOWN_VX 0x3c004057
#define LIBXSMM_RV64_INSTR_RVV_VSLIDEUP_VI 0x38003057
#define LIBXSMM_RV64_INSTR_RVV_VSLIDEUP_VX 0x38004057
#define LIBXSMM_RV64_INSTR_RVV_VSLL_VI 0x94003057
#define LIBXSMM_RV64_INSTR_RVV_VSLL_VV 0x94000057
#define LIBXSMM_RV64_INSTR_RVV_VSLL_VX 0x94004057
#define LIBXSMM_RV64_INSTR_RVV_VSM_V 0x2b00027
#define LIBXSMM_RV64_INSTR_RVV_VSMUL_VV 0x9c000057
#define LIBXSMM_RV64_INSTR_RVV_VSMUL_VX 0x9c004057
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI1024_V 0x1c007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI128_V 0x1c000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI16_V 0xc005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI256_V 0x1c005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI32_V 0xc006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI512_V 0x1c006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI64_V 0xc007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXEI8_V 0xc000027
#define LIBXSMM_RV64_INSTR_RVV_VSRA_VI 0xa4003057
#define LIBXSMM_RV64_INSTR_RVV_VSRA_VV 0xa4000057
#define LIBXSMM_RV64_INSTR_RVV_VSRA_VX 0xa4004057
#define LIBXSMM_RV64_INSTR_RVV_VSRL_VI 0xa0003057
#define LIBXSMM_RV64_INSTR_RVV_VSRL_VV 0xa0000057
#define LIBXSMM_RV64_INSTR_RVV_VSRL_VX 0xa0004057
#define LIBXSMM_RV64_INSTR_RVV_VSSE1024_V 0x18007027
#define LIBXSMM_RV64_INSTR_RVV_VSSE128_V 0x18000027
#define LIBXSMM_RV64_INSTR_RVV_VSSE16_V 0x8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSE256_V 0x18005027
#define LIBXSMM_RV64_INSTR_RVV_VSSE32_V 0x8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSE512_V 0x18006027
#define LIBXSMM_RV64_INSTR_RVV_VSSE64_V 0x8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSE8_V 0x8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSRA_VI 0xac003057
#define LIBXSMM_RV64_INSTR_RVV_VSSRA_VV 0xac000057
#define LIBXSMM_RV64_INSTR_RVV_VSSRA_VX 0xac004057
#define LIBXSMM_RV64_INSTR_RVV_VSSRL_VI 0xa8003057
#define LIBXSMM_RV64_INSTR_RVV_VSSRL_VV 0xa8000057
#define LIBXSMM_RV64_INSTR_RVV_VSSRL_VX 0xa8004057
#define LIBXSMM_RV64_INSTR_RVV_VSSUB_VV 0x8c000057
#define LIBXSMM_RV64_INSTR_RVV_VSSUB_VX 0x8c004057
#define LIBXSMM_RV64_INSTR_RVV_VSSUBU_VV 0x88000057
#define LIBXSMM_RV64_INSTR_RVV_VSSUBU_VX 0x88004057
#define LIBXSMM_RV64_INSTR_RVV_VSUB_VV 0x8000057
#define LIBXSMM_RV64_INSTR_RVV_VSUB_VX 0x8004057
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI1024_V 0x14007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI128_V 0x14000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI16_V 0x4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI256_V 0x14005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI32_V 0x4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI512_V 0x14006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI64_V 0x4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXEI8_V 0x4000027
#define LIBXSMM_RV64_INSTR_RVV_VWADD_VV 0xc4002057
#define LIBXSMM_RV64_INSTR_RVV_VWADD_VX 0xc4006057
#define LIBXSMM_RV64_INSTR_RVV_VWADD_WV 0xd4002057
#define LIBXSMM_RV64_INSTR_RVV_VWADD_WX 0xd4006057
#define LIBXSMM_RV64_INSTR_RVV_VWADDU_VV 0xc0002057
#define LIBXSMM_RV64_INSTR_RVV_VWADDU_VX 0xc0006057
#define LIBXSMM_RV64_INSTR_RVV_VWADDU_WV 0xd0002057
#define LIBXSMM_RV64_INSTR_RVV_VWADDU_WX 0xd0006057
#define LIBXSMM_RV64_INSTR_RVV_VWMACC_VV 0xf4002057
#define LIBXSMM_RV64_INSTR_RVV_VWMACC_VX 0xf4006057
#define LIBXSMM_RV64_INSTR_RVV_VWMACCSU_VV 0xfc002057
#define LIBXSMM_RV64_INSTR_RVV_VWMACCSU_VX 0xfc006057
#define LIBXSMM_RV64_INSTR_RVV_VWMACCU_VV 0xf0002057
#define LIBXSMM_RV64_INSTR_RVV_VWMACCU_VX 0xf0006057
#define LIBXSMM_RV64_INSTR_RVV_VWMACCUS_VX 0xf8006057
#define LIBXSMM_RV64_INSTR_RVV_VWMUL_VV 0xec002057
#define LIBXSMM_RV64_INSTR_RVV_VWMUL_VX 0xec006057
#define LIBXSMM_RV64_INSTR_RVV_VWMULSU_VV 0xe8002057
#define LIBXSMM_RV64_INSTR_RVV_VWMULSU_VX 0xe8006057
#define LIBXSMM_RV64_INSTR_RVV_VWMULU_VV 0xe0002057
#define LIBXSMM_RV64_INSTR_RVV_VWMULU_VX 0xe0006057
#define LIBXSMM_RV64_INSTR_RVV_VWREDSUM_VS 0xc4000057
#define LIBXSMM_RV64_INSTR_RVV_VWREDSUMU_VS 0xc0000057
#define LIBXSMM_RV64_INSTR_RVV_VWSUB_VV 0xcc002057
#define LIBXSMM_RV64_INSTR_RVV_VWSUB_VX 0xcc006057
#define LIBXSMM_RV64_INSTR_RVV_VWSUB_WV 0xdc002057
#define LIBXSMM_RV64_INSTR_RVV_VWSUB_WX 0xdc006057
#define LIBXSMM_RV64_INSTR_RVV_VWSUBU_VV 0xc8002057
#define LIBXSMM_RV64_INSTR_RVV_VWSUBU_VX 0xc8006057
#define LIBXSMM_RV64_INSTR_RVV_VWSUBU_WV 0xd8002057
#define LIBXSMM_RV64_INSTR_RVV_VWSUBU_WX 0xd8006057
#define LIBXSMM_RV64_INSTR_RVV_VXOR_VI 0x2c003057
#define LIBXSMM_RV64_INSTR_RVV_VXOR_VV 0x2c000057
#define LIBXSMM_RV64_INSTR_RVV_VXOR_VX 0x2c004057
#define LIBXSMM_RV64_INSTR_RVV_VZEXT_VF2 0x48032057
#define LIBXSMM_RV64_INSTR_RVV_VZEXT_VF4 0x48022057
#define LIBXSMM_RV64_INSTR_RVV_VZEXT_VF8 0x48012057
#define LIBXSMM_RV64_INSTR_GP_WFI 0x10500073
#define LIBXSMM_RV64_INSTR_GP_WRS_NTO 0xd00073
#define LIBXSMM_RV64_INSTR_GP_WRS_STO 0x1d00073
#define LIBXSMM_RV64_INSTR_GP_XNOR 0x40004033
#define LIBXSMM_RV64_INSTR_GP_XOR 0x4033
#define LIBXSMM_RV64_INSTR_GP_XORI 0x4013
#define LIBXSMM_RV64_INSTR_GP_XPERM16 0x28006033
#define LIBXSMM_RV64_INSTR_GP_XPERM32 0x28000033
#define LIBXSMM_RV64_INSTR_GP_XPERM4 0x28002033
#define LIBXSMM_RV64_INSTR_GP_XPERM8 0x28004033
#define LIBXSMM_RV64_INSTR_GP_ZUNPKD810 0xacc00077
#define LIBXSMM_RV64_INSTR_GP_ZUNPKD820 0xacd00077
#define LIBXSMM_RV64_INSTR_GP_ZUNPKD830 0xace00077
#define LIBXSMM_RV64_INSTR_GP_ZUNPKD831 0xacf00077
#define LIBXSMM_RV64_INSTR_GP_ZUNPKD832 0xad700077
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E8_V 0x7
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E8_V 0x20000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E8_V 0x40000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E8_V 0x60000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E8_V 0x80000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E8_V 0xA0000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E8_V 0xC0000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E8_V 0xE0000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E16_V 0x5007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E16_V 0x20005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E16_V 0x40005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E16_V 0x60005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E16_V 0x80005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E16_V 0xA0005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E16_V 0xC0005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E16_V 0xE0005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E32_V 0x6007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E32_V 0x20006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E32_V 0x40006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E32_V 0x60006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E32_V 0x80006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E32_V 0xA0006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E32_V 0xC0006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E32_V 0xE0006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E64_V 0x7007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E64_V 0x20007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E64_V 0x40007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E64_V 0x60007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E64_V 0x80007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E64_V 0xA0007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E64_V 0xC0007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E64_V 0xE0007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E128_V 0x10000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E128_V 0x30000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E128_V 0x50000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E128_V 0x70000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E128_V 0x90000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E128_V 0xB0000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E128_V 0xD0000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E128_V 0xF0000007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E256_V 0x10005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E256_V 0x30005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E256_V 0x50005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E256_V 0x70005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E256_V 0x90005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E256_V 0xB0005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E256_V 0xD0005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E256_V 0xF0005007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E512_V 0x10006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E512_V 0x30006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E512_V 0x50006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E512_V 0x70006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E512_V 0x90006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E512_V 0xB0006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E512_V 0xD0006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E512_V 0xF0006007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG1E1024_V 0x10007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG2E1024_V 0x30007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG3E1024_V 0x50007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG4E1024_V 0x70007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG5E1024_V 0x90007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG6E1024_V 0xB0007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG7E1024_V 0xD0007007
#define LIBXSMM_RV64_INSTR_RVV_VLSEG8E1024_V 0xF0007007
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E8_V 0x27
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E8_V 0x20000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E8_V 0x40000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E8_V 0x60000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E8_V 0x80000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E8_V 0xA0000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E8_V 0xC0000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E8_V 0xE0000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E16_V 0x5027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E16_V 0x20005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E16_V 0x40005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E16_V 0x60005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E16_V 0x80005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E16_V 0xA0005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E16_V 0xC0005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E16_V 0xE0005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E32_V 0x6027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E32_V 0x20006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E32_V 0x40006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E32_V 0x60006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E32_V 0x80006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E32_V 0xA0006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E32_V 0xC0006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E32_V 0xE0006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E64_V 0x7027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E64_V 0x20007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E64_V 0x40007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E64_V 0x60007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E64_V 0x80007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E64_V 0xA0007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E64_V 0xC0007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E64_V 0xE0007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E128_V 0x10000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E128_V 0x30000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E128_V 0x50000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E128_V 0x70000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E128_V 0x90000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E128_V 0xB0000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E128_V 0xD0000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E128_V 0xF0000027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E256_V 0x10005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E256_V 0x30005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E256_V 0x50005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E256_V 0x70005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E256_V 0x90005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E256_V 0xB0005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E256_V 0xD0005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E256_V 0xF0005027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E512_V 0x10006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E512_V 0x30006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E512_V 0x50006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E512_V 0x70006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E512_V 0x90006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E512_V 0xB0006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E512_V 0xD0006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E512_V 0xF0006027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG1E1024_V 0x10007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG2E1024_V 0x30007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG3E1024_V 0x50007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG4E1024_V 0x70007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG5E1024_V 0x90007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG6E1024_V 0xB0007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG7E1024_V 0xD0007027
#define LIBXSMM_RV64_INSTR_RVV_VSSEG8E1024_V 0xF0007027
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E8_V 0x8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E8_V 0x28000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E8_V 0x48000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E8_V 0x68000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E8_V 0x88000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E8_V 0xA8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E8_V 0xC8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E8_V 0xE8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E16_V 0x8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E16_V 0x28005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E16_V 0x48005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E16_V 0x68005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E16_V 0x88005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E16_V 0xA8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E16_V 0xC8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E16_V 0xE8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E32_V 0x8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E32_V 0x28006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E32_V 0x48006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E32_V 0x68006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E32_V 0x88006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E32_V 0xA8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E32_V 0xC8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E32_V 0xE8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E64_V 0x8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E64_V 0x28007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E64_V 0x48007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E64_V 0x68007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E64_V 0x88007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E64_V 0xA8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E64_V 0xC8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E64_V 0xE8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E128_V 0x18000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E128_V 0x38000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E128_V 0x58000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E128_V 0x78000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E128_V 0x98000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E128_V 0xB8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E128_V 0xD8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E128_V 0xF8000007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E256_V 0x18005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E256_V 0x38005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E256_V 0x58005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E256_V 0x78005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E256_V 0x98005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E256_V 0xB8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E256_V 0xD8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E256_V 0xF8005007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E512_V 0x18006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E512_V 0x38006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E512_V 0x58006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E512_V 0x78006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E512_V 0x98006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E512_V 0xB8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E512_V 0xD8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E512_V 0xF8006007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG1E1024_V 0x18007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG2E1024_V 0x38007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG3E1024_V 0x58007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG4E1024_V 0x78007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG5E1024_V 0x98007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG6E1024_V 0xB8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG7E1024_V 0xD8007007
#define LIBXSMM_RV64_INSTR_RVV_VLSSEG8E1024_V 0xF8007007
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E8_V 0x8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E8_V 0x28000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E8_V 0x48000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E8_V 0x68000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E8_V 0x88000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E8_V 0xA8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E8_V 0xC8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E8_V 0xE8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E16_V 0x8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E16_V 0x28005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E16_V 0x48005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E16_V 0x68005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E16_V 0x88005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E16_V 0xA8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E16_V 0xC8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E16_V 0xE8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E32_V 0x8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E32_V 0x28006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E32_V 0x48006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E32_V 0x68006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E32_V 0x88006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E32_V 0xA8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E32_V 0xC8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E32_V 0xE8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E64_V 0x8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E64_V 0x28007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E64_V 0x48007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E64_V 0x68007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E64_V 0x88007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E64_V 0xA8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E64_V 0xC8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E64_V 0xE8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E128_V 0x18000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E128_V 0x38000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E128_V 0x58000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E128_V 0x78000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E128_V 0x98000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E128_V 0xB8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E128_V 0xD8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E128_V 0xF8000027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E256_V 0x18005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E256_V 0x38005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E256_V 0x58005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E256_V 0x78005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E256_V 0x98005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E256_V 0xB8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E256_V 0xD8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E256_V 0xF8005027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E512_V 0x18006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E512_V 0x38006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E512_V 0x58006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E512_V 0x78006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E512_V 0x98006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E512_V 0xB8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E512_V 0xD8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E512_V 0xF8006027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG1E1024_V 0x18007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG2E1024_V 0x38007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG3E1024_V 0x58007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG4E1024_V 0x78007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG5E1024_V 0x98007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG6E1024_V 0xB8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG7E1024_V 0xD8007027
#define LIBXSMM_RV64_INSTR_RVV_VSSSEG8E1024_V 0xF8007027
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI8_V 0xC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI8_V 0x2C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI8_V 0x4C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI8_V 0x6C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI8_V 0x8C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI8_V 0xAC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI8_V 0xCC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI8_V 0xEC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI16_V 0xC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI16_V 0x2C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI16_V 0x4C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI16_V 0x6C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI16_V 0x8C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI16_V 0xAC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI16_V 0xCC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI16_V 0xEC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI32_V 0xC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI32_V 0x2C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI32_V 0x4C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI32_V 0x6C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI32_V 0x8C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI32_V 0xAC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI32_V 0xCC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI32_V 0xEC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI64_V 0xC007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI64_V 0x2C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI64_V 0x4C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI64_V 0x6C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI64_V 0x8C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI64_V 0xAC007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI64_V 0xCC007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI64_V 0xEC007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI128_V 0x1C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI128_V 0x3C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI128_V 0x5C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI128_V 0x7C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI128_V 0x9C000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI128_V 0xBC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI128_V 0xDC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI128_V 0xFC000007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI256_V 0x1C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI256_V 0x3C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI256_V 0x5C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI256_V 0x7C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI256_V 0x9C005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI256_V 0xBC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI256_V 0xDC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI256_V 0xFC005007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI512_V 0x1C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI512_V 0x3C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI512_V 0x5C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI512_V 0x7C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI512_V 0x9C006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI512_V 0xBC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI512_V 0xDC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI512_V 0xFC006007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG1EI1024_V 0x1C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG2EI1024_V 0x3C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG3EI1024_V 0x5C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG4EI1024_V 0x7C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG5EI1024_V 0x9C007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG6EI1024_V 0xBC007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG7EI1024_V 0xDC007007
#define LIBXSMM_RV64_INSTR_RVV_VLOXSEG8EI1024_V 0xFC007007
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI8_V 0xC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI8_V 0x2C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI8_V 0x4C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI8_V 0x6C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI8_V 0x8C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI8_V 0xAC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI8_V 0xCC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI8_V 0xEC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI16_V 0xC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI16_V 0x2C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI16_V 0x4C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI16_V 0x6C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI16_V 0x8C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI16_V 0xAC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI16_V 0xCC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI16_V 0xEC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI32_V 0xC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI32_V 0x2C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI32_V 0x4C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI32_V 0x6C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI32_V 0x8C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI32_V 0xAC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI32_V 0xCC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI32_V 0xEC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI64_V 0xC007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI64_V 0x2C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI64_V 0x4C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI64_V 0x6C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI64_V 0x8C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI64_V 0xAC007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI64_V 0xCC007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI64_V 0xEC007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI128_V 0x1C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI128_V 0x3C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI128_V 0x5C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI128_V 0x7C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI128_V 0x9C000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI128_V 0xBC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI128_V 0xDC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI128_V 0xFC000027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI256_V 0x1C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI256_V 0x3C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI256_V 0x5C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI256_V 0x7C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI256_V 0x9C005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI256_V 0xBC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI256_V 0xDC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI256_V 0xFC005027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI512_V 0x1C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI512_V 0x3C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI512_V 0x5C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI512_V 0x7C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI512_V 0x9C006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI512_V 0xBC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI512_V 0xDC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI512_V 0xFC006027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG1EI1024_V 0x1C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG2EI1024_V 0x3C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG3EI1024_V 0x5C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG4EI1024_V 0x7C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG5EI1024_V 0x9C007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG6EI1024_V 0xBC007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG7EI1024_V 0xDC007027
#define LIBXSMM_RV64_INSTR_RVV_VSOXSEG8EI1024_V 0xFC007027
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI8_V 0x4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI8_V 0x24000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI8_V 0x44000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI8_V 0x64000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI8_V 0x84000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI8_V 0xA4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI8_V 0xC4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI8_V 0xE4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI16_V 0x4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI16_V 0x24005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI16_V 0x44005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI16_V 0x64005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI16_V 0x84005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI16_V 0xA4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI16_V 0xC4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI16_V 0xE4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI32_V 0x4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI32_V 0x24006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI32_V 0x44006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI32_V 0x64006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI32_V 0x84006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI32_V 0xA4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI32_V 0xC4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI32_V 0xE4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI64_V 0x4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI64_V 0x24007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI64_V 0x44007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI64_V 0x64007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI64_V 0x84007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI64_V 0xA4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI64_V 0xC4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI64_V 0xE4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI128_V 0x14000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI128_V 0x34000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI128_V 0x54000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI128_V 0x74000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI128_V 0x94000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI128_V 0xB4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI128_V 0xD4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI128_V 0xF4000007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI256_V 0x14005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI256_V 0x34005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI256_V 0x54005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI256_V 0x74005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI256_V 0x94005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI256_V 0xB4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI256_V 0xD4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI256_V 0xF4005007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI512_V 0x14006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI512_V 0x34006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI512_V 0x54006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI512_V 0x74006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI512_V 0x94006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI512_V 0xB4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI512_V 0xD4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI512_V 0xF4006007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG1EI1024_V 0x14007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG2EI1024_V 0x34007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG3EI1024_V 0x54007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG4EI1024_V 0x74007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG5EI1024_V 0x94007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG6EI1024_V 0xB4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG7EI1024_V 0xD4007007
#define LIBXSMM_RV64_INSTR_RVV_VLUXSEG8EI1024_V 0xF4007007
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI8_V 0x4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI8_V 0x24000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI8_V 0x44000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI8_V 0x64000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI8_V 0x84000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI8_V 0xA4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI8_V 0xC4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI8_V 0xE4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI16_V 0x4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI16_V 0x24005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI16_V 0x44005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI16_V 0x64005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI16_V 0x84005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI16_V 0xA4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI16_V 0xC4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI16_V 0xE4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI32_V 0x4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI32_V 0x24006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI32_V 0x44006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI32_V 0x64006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI32_V 0x84006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI32_V 0xA4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI32_V 0xC4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI32_V 0xE4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI64_V 0x4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI64_V 0x24007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI64_V 0x44007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI64_V 0x64007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI64_V 0x84007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI64_V 0xA4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI64_V 0xC4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI64_V 0xE4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI128_V 0x14000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI128_V 0x34000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI128_V 0x54000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI128_V 0x74000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI128_V 0x94000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI128_V 0xB4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI128_V 0xD4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI128_V 0xF4000027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI256_V 0x14005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI256_V 0x34005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI256_V 0x54005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI256_V 0x74005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI256_V 0x94005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI256_V 0xB4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI256_V 0xD4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI256_V 0xF4005027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI512_V 0x14006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI512_V 0x34006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI512_V 0x54006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI512_V 0x74006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI512_V 0x94006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI512_V 0xB4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI512_V 0xD4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI512_V 0xF4006027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG1EI1024_V 0x14007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG2EI1024_V 0x34007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG3EI1024_V 0x54007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG4EI1024_V 0x74007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG5EI1024_V 0x94007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG6EI1024_V 0xB4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG7EI1024_V 0xD4007027
#define LIBXSMM_RV64_INSTR_RVV_VSUXSEG8EI1024_V 0xF4007027

#define LIBXSMM_RV64_INSTR_FIELD_RD 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_RT 0xf8000
#define LIBXSMM_RV64_INSTR_FIELD_RS1 0xf8000
#define LIBXSMM_RV64_INSTR_FIELD_RS2 0x1f00000
#define LIBXSMM_RV64_INSTR_FIELD_RS3 0xf8000000
#define LIBXSMM_RV64_INSTR_FIELD_AQRL 0x6000000
#define LIBXSMM_RV64_INSTR_FIELD_AQ 0x4000000
#define LIBXSMM_RV64_INSTR_FIELD_RL 0x2000000
#define LIBXSMM_RV64_INSTR_FIELD_FM 0xf0000000
#define LIBXSMM_RV64_INSTR_FIELD_PRED 0xf000000
#define LIBXSMM_RV64_INSTR_FIELD_SUCC 0xf00000
#define LIBXSMM_RV64_INSTR_FIELD_RM 0x7000
#define LIBXSMM_RV64_INSTR_FIELD_FUNCT3 0x7000
#define LIBXSMM_RV64_INSTR_FIELD_FUNCT2 0x6000000
#define LIBXSMM_RV64_INSTR_FIELD_IMM20 0xfffff000
#define LIBXSMM_RV64_INSTR_FIELD_JIMM20 0xfffff000
#define LIBXSMM_RV64_INSTR_FIELD_IMM12 0xfff00000
#define LIBXSMM_RV64_INSTR_FIELD_CSR 0xfff00000
#define LIBXSMM_RV64_INSTR_FIELD_IMM12HI 0xfe000000
#define LIBXSMM_RV64_INSTR_FIELD_BIMM12HI 0xfe000000
#define LIBXSMM_RV64_INSTR_FIELD_IMM12LO 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_BIMM12LO 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_ZIMM 0xf8000
#define LIBXSMM_RV64_INSTR_FIELD_SHAMTQ 0x7f00000
#define LIBXSMM_RV64_INSTR_FIELD_SHAMTW 0x1f00000
#define LIBXSMM_RV64_INSTR_FIELD_SHAMTW4 0xf00000
#define LIBXSMM_RV64_INSTR_FIELD_SHAMTD 0x3f00000
#define LIBXSMM_RV64_INSTR_FIELD_BS 0xc0000000
#define LIBXSMM_RV64_INSTR_FIELD_RNUM 0xf00000
#define LIBXSMM_RV64_INSTR_FIELD_RC 0x3e000000
#define LIBXSMM_RV64_INSTR_FIELD_IMM2 0x300000
#define LIBXSMM_RV64_INSTR_FIELD_IMM3 0x700000
#define LIBXSMM_RV64_INSTR_FIELD_IMM4 0xf00000
#define LIBXSMM_RV64_INSTR_FIELD_IMM5 0x1f00000
#define LIBXSMM_RV64_INSTR_FIELD_IMM6 0x3f00000
#define LIBXSMM_RV64_INSTR_FIELD_OPCODE 0x7f
#define LIBXSMM_RV64_INSTR_FIELD_FUNCT7 0xfe000000
#define LIBXSMM_RV64_INSTR_FIELD_VD 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_VS3 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_VS1 0xf8000
#define LIBXSMM_RV64_INSTR_FIELD_VS2 0x1f00000
#define LIBXSMM_RV64_INSTR_FIELD_VM 0x2000000
#define LIBXSMM_RV64_INSTR_FIELD_WD 0x4000000
#define LIBXSMM_RV64_INSTR_FIELD_AMOOP 0xf8000000
#define LIBXSMM_RV64_INSTR_FIELD_NF 0xe0000000
#define LIBXSMM_RV64_INSTR_FIELD_SIMM5 0xf8000
#define LIBXSMM_RV64_INSTR_FIELD_ZIMM10 0x3ff00000
#define LIBXSMM_RV64_INSTR_FIELD_ZIMM11 0x7ff00000
#define LIBXSMM_RV64_INSTR_FIELD_C_NZUIMM10 0x1fe0
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM7LO 0x60
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM7HI 0x1c00
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM8LO 0x60
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM8HI 0x1c00
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM9LO 0x60
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM9HI 0x1c00
#define LIBXSMM_RV64_INSTR_FIELD_C_NZIMM6LO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_NZIMM6HI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_IMM6LO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_IMM6HI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_NZIMM10HI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_NZIMM10LO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_NZIMM18HI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_NZIMM18LO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_IMM12 0x1ffc
#define LIBXSMM_RV64_INSTR_FIELD_C_BIMM9LO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_BIMM9HI 0x1c00
#define LIBXSMM_RV64_INSTR_FIELD_C_NZUIMM5 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_NZUIMM6LO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_NZUIMM6HI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM8SPLO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM8SPHI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM8SP_S 0x1f80
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM10SPLO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM10SPHI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM9SPLO 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM9SPHI 0x1000
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM10SP_S 0x1f80
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM9SP_S 0x1f80
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM2 0x60
#define LIBXSMM_RV64_INSTR_FIELD_C_UIMM1 0x20
#define LIBXSMM_RV64_INSTR_FIELD_C_RLIST 0xf0
#define LIBXSMM_RV64_INSTR_FIELD_C_SPIMM 0xc
#define LIBXSMM_RV64_INSTR_FIELD_C_INDEX 0x3fc
#define LIBXSMM_RV64_INSTR_FIELD_RS1_P 0x380
#define LIBXSMM_RV64_INSTR_FIELD_RS2_P 0x1c
#define LIBXSMM_RV64_INSTR_FIELD_RD_P 0x1c
#define LIBXSMM_RV64_INSTR_FIELD_RD_RS1_N0 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_RD_RS1_P 0x380
#define LIBXSMM_RV64_INSTR_FIELD_RD_RS1 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_RD_N2 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_RD_N0 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_RS1_N0 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_C_RS2_N0 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_RS1_N0 0xf80
#define LIBXSMM_RV64_INSTR_FIELD_C_RS2 0x7c
#define LIBXSMM_RV64_INSTR_FIELD_C_SREG1 0x380
#define LIBXSMM_RV64_INSTR_FIELD_C_SREG2 0x1c

/**
 * Emulation of ctz()
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_instr alu instruction
 * @param i_rd register holding the result
 * @param i_rs1 register holding the first operand
 * @param i_rs2 register holding the second operand
*/

static const int db_bpos[32] = { 0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15,
  25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9
};

#define DB_HASH (0x077CB531U)
#define libxsmm_ctz( v ) db_bpos[((uint32_t)(((v) & -(v)) * DB_HASH)) >> 27]

/**
 * Opens the inline assembly section / jit stream
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_callee_save_bitmask lower 4 bits control d8-d15 in tuples, bits 4-11 control x16-x30 in tuples, e.g. 0xf saves d8-d15
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_open_stream( libxsmm_generated_code* io_generated_code,
                                           const unsigned short    i_callee_save_bitmask );

/**
 * Closes the inline assembly section / jit stream
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_callee_save_bitmask lower 4 bits control d8-d15 in tuples, bits 4-11 control x16-x30 in tuples, e.g. 0xf saves d8-d15
 */


LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_restore_regs( libxsmm_generated_code* io_generated_code,
                                            const unsigned short    i_callee_save_bitmask );

LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_close_stream( libxsmm_generated_code* io_generated_code,
                                            const unsigned short    i_callee_save_bitmask );

/**
 * Generates vector lenght instructions for structs
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_gp_reg_src gp register containing requeseted vector length
 * @param i_reg_dst application vector length
 * @param i_sew the standard element width
 * @param i_lmul length multiplier
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_rvv_setvli( libxsmm_generated_code* io_generated_code,
                                           const unsigned int     i_gp_reg_src,
                                           const unsigned int     i_reg_dst,
                                           const unsigned int     i_sew,
                                           const unsigned int     i_lmul );

/**
 * Generates vector lenght instructions for structs
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_rvl requested vector length
 * @param i_reg_dst application vector length
 * @param i_sew the standard element width
 * @param i_lmul length multiplier
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_rvv_setivli( libxsmm_generated_code* io_generated_code,
                                           const unsigned int      i_rvl,
                                           const unsigned int      i_reg_dst,
                                           const unsigned int      i_sew,
                                           const unsigned int      i_lmul );

/**
 * Generates vector lenght instructions for structs
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_gp_reg_src gp register containing the base address
 * @param i_gp_reg_src gp register containing the base address
 * @param i_reg_dst application vector length
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_rvv_setvl( libxsmm_generated_code* io_generated_code,
                                         const unsigned int      i_gp_reg_src_1,
                                         const unsigned int      i_gp_reg_src_2,
                                         const unsigned int      i_reg_dst);


/**
 * Generates ldX, stX, etc. instructions for structs
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_vmove_instr actual vmov variant
 * @param i_gp_reg_addr gp register containing the base address
 * @param i_gp_reg_offset gp register containing an offset
 * @param i_vec_reg the simd register
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_rvv_move( libxsmm_generated_code* io_generated_code,
                                         const unsigned int     i_vmove_instr,
                                         const unsigned int     i_vec_reg_addr,
                                         const unsigned int     i_vec_reg_offset,
                                         const unsigned int     i_vec_reg_dst,
                                         const unsigned int     i_masked);


/**
 * Generates compute
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_vec_instr actual operation variant
 * @param i_vec_reg_src_1 first source register
 * @param i_vec_reg_src_2 second source register
 * @param i_vec_reg_dst destination register
 * @param i_masked true if instruction is masked
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_rvv_compute( libxsmm_generated_code*  io_generated_code,
                                            const unsigned int      i_vec_instr,
                                            const unsigned int      i_vec_reg_src_1,
                                            const unsigned int      i_vec_reg_src_2,
                                            const unsigned int      i_vec_reg_dst,
                                            const unsigned int      i_masked);

/**
 * Generates compute with immediate
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_vec_instr actual operation variant
 * @param i_vec_reg_src_1 first source register
 * @param i_imm immediate
 * @param i_vec_reg_dst destination register
 * @param i_masked true if instruction is masked
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_rvv_compute_imm( libxsmm_generated_code* io_generated_code,
                                                const unsigned int     i_vec_instr,
                                                const unsigned int     i_vec_reg_src_1,
                                                const unsigned int     i_imm,
                                                const unsigned int     i_vec_reg_dst,
                                                const unsigned int     i_masked);

/**
 * Generates alu memory movements like ldr, str,
 *
 * @param io_generated_code  pointer to the pointer of the generated code structure
 * @param i_move_instr actual ld/str instruction
 * @param i_gp_reg_addr base address register
 * @param i_gp_reg_off offset register
 * @param i_gp_reg_dst register
 * @param i_offset offset
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_move( libxsmm_generated_code* io_generated_code,
                                        const unsigned int      i_move_instr,
                                        const unsigned int      i_gp_reg_addr,
                                        const unsigned int      i_gp_reg_dst,
                                        const int               i_offset );

/**
 * Generates movk, movz instructions
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_gp_reg_dst the destination register
 * @param i_shift the shift of the immediate
 * @param i_imm16 the 16bit immediate operand
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_move_imm12( libxsmm_generated_code* io_generated_code,
                                                 const unsigned int   i_gp_reg_dst,
                                                 const int            i_imm12 );

/**
 * Generates mov 20-bit immediate instructions
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_instr actual mov instr.
 * @param i_gp_reg_dst the destination register
 * @param i_imm20 the 16bit immediate operand
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_move_imm20( libxsmm_generated_code* io_generated_code,
                                               const unsigned int     i_gp_reg_dst,
                                               const unsigned int     i_imm20 );


/**
 * Generates mov 32-bit immediate instructions
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_instr actual mov instr.
 * @param i_gp_reg_dst the destination register
 * @param i_imm20 the 16bit immediate operand
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_move_imm32( libxsmm_generated_code* io_generated_code,
                                               const unsigned int     i_gp_reg_dst,
                                               const unsigned int     i_imm32 );

/**
 * Generates a sequence of instructions to load a int64 into a GPR
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_gp_reg_dst the destination register
 * @param i_imm64 the 64bit immediate operand
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_set_imm64( libxsmm_generated_code*  io_generated_code,
                                             const unsigned int       i_gp_reg_dst,
                                             const unsigned long long i_imm64 );

/**
 * Generate compute with immediate
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_instr actual alu gpr instruction
 * @param i_gp_reg_src soruce register
 * @param i_gp_reg_dst destination register
 * @param i_imm12 12bit immediate
 * @param i_imm12_lsl12 0/1 apply lsl 12 to the imm12
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_compute( libxsmm_generated_code* io_generated_code,
                                                    const unsigned int i_alu_instr,
                                                    const unsigned int i_gp_reg_src_1,
                                                    const unsigned int i_gp_reg_src_2,
                                                    const unsigned int i_gp_reg_dst);

/**
 * Generate compute with immediate
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_instr actual alu gpr instruction
 * @param i_gp_reg_src soruce register
 * @param i_gp_reg_dst destination register
 * @param i_imm12 12bit immediate
 * @param i_imm12_lsl12 0/1 apply lsl 12 to the imm12
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_compute_imm12( libxsmm_generated_code* io_generated_code,
                                                    const unsigned int   i_alu_instr,
                                                    const unsigned int   i_gp_reg_src,
                                                    const unsigned int   i_gp_reg_dst,
                                                    const int            i_imm12 );

/**
 * Generates a sequence of compute with intermediates
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_instr actual alu gpr instruction
 * @param i_gp_reg_dst destination register
 * @param i_imm20 20bit immediate
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_compute_imm20( libxsmm_generated_code* io_generated_code,
                                                    const unsigned int   i_alu_instr,
                                                    const unsigned int   i_gp_reg_dst,
                                                    const unsigned int   i_imm20 );

/**
 * Generates an optimal sequence of adding up to a 64bit imm to a GPR
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_meta_instr actual alu gpr instruction
 * @param i_gp_reg_src soruce register
 * @param i_gp_reg_tmp temp register which may be used
 * @param i_gp_reg_dst destination register
 * @param i_imm64 the 64 bit immediate
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_alu_compute_imm64( libxsmm_generated_code*  io_generated_code,
                                                  const unsigned int      i_alu_meta_instr,
                                                  const unsigned int      i_gp_reg_src,
                                                  const unsigned int      i_gp_reg_tmp,
                                                  const unsigned int      i_gp_reg_dst,
                                                  const long long         i_imm64 );

/**
 * Generates conditional branch
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_alu_jmp_instr actual jmp instruction
 * @param i_gp_reg_src_1 first soruce register
 * @param i_gp_reg_src_2 second source register
 * @param i_imm 12 bit immediate
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_cond_jump( libxsmm_generated_code* io_generated_code,
                                          const unsigned int     i_jmp_instr,
                                          const unsigned int     i_gp_src_1,
                                          const unsigned int     i_gp_src_2,
                                          const int              i_imm );

/**
 * Generates jump and link
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_jmp_instr actual jmp instruction
 * @param i_gp_reg_dst link register for return address
 * @param i_imm 20 bit immediate
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_jump_and_link( libxsmm_generated_code* io_generated_code,
                                             const unsigned int      i_jmp_instr,
                                             const unsigned int      i_gp_reg_dst,
                                             const int               i_imm );


/**
 * Generates jump and link with register
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_jmp_instr actual jmp instruction
 * @param i_gp_reg_dst link register for return address
 * @param i_gp_reg_src_1 base address register
 * @param i_imm 12 bit immediate
 */
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_jump_and_link_reg( libxsmm_generated_code* io_generated_code,
                                                 const unsigned int      i_jmp_instr,
                                                 const unsigned int      i_gp_reg_dst,
                                                 const unsigned int      i_gp_reg_src_1,
                                                 const int               i_imm12 );

/**
 * Generates a label to which one can jump back and pushes it on the loop label stack
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param io_loop_label_tracker data structure to handle loop labels, nested loops are supported, but not overlapping loops
*/
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_register_jump_back_label( libxsmm_generated_code*     io_generated_code,
                                                        libxsmm_loop_label_tracker* io_loop_label_tracker );

/**
 * Pops the latest from the loop label stack and jumps there based on the condition
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_jmp_instr the particular jump instruction used (cbnz, cbz)
 * @param i_gp_reg_cmp the gp register which contains the comperitor
 * @param io_loop_label_tracker data structure to handle loop labels will jump to latest registered label
*/
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_cond_jump_back_to_label( libxsmm_generated_code*     io_generated_code,
                                                       const unsigned int          i_jmp_instr,
                                                       const unsigned int          i_gp_reg_src_1,
                                                       const unsigned int          i_gp_reg_src_2,
                                                       libxsmm_loop_label_tracker* io_loop_label_tracker );

/**
 * Generates a label to which one can jump back and pushes it on the loop label stack
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_label_no position in the jump label tracker to set
 * @param io_jump_label_tracker forward jump tracker structure for tracking the jump addresses/labels
*/
LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_register_jump_label( libxsmm_generated_code*     io_generated_code,
                                                   const unsigned int          i_label_no,
                                                   libxsmm_jump_label_tracker* io_jump_label_tracker );

/**
 * Jumps to the address/label stored a specific position
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_jmp_instr the particular jump instruction used
 * @param i_gp_reg_cmp the register holding the condition result
 * @param i_label_no position in the jump label tracker to jump to
 * @param io_jump_label_tracker data structures that tracks arbitrary jump labels
*/

LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_cond_jump_to_label( libxsmm_generated_code*     io_generated_code,
                                                  const unsigned int          i_jmp_instr,
                                                  const unsigned int          i_gp_reg_src_1,
                                                  const unsigned int          i_gp_reg_stc_2,
                                                  const unsigned int          i_label_no,
                                                  libxsmm_jump_label_tracker* io_jump_label_tracker );

/**
 * Jumps to the address/label stored a specific position
 *
 * @param io_generated_code pointer to the pointer of the generated code structure
 * @param i_jmp_instr the particular jump instruction used
 * @param i_gp_reg_cmp the register holding the condition result
 * @param i_label_no position in the jump label tracker to jump to
 * @param io_jump_label_tracker data structures that tracks arbitrary jump labels
*/

LIBXSMM_API_INTERN
void libxsmm_rv64_instruction_prefetch( libxsmm_generated_code*  io_generated_code,
                                        const unsigned int       i_pf_instr,
                                        const unsigned int       i_gp_reg_src,
                                        const unsigned int       i_imm12);

#endif /* GENERATOR_RV64_INSTRUCTIONS_H */
